本文整理汇总了C#中System.Data.Common.DbConnection.Execute方法的典型用法代码示例。如果您正苦于以下问题:C# DbConnection.Execute方法的具体用法?C# DbConnection.Execute怎么用?C# DbConnection.Execute使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Data.Common.DbConnection
的用法示例。
在下文中一共展示了DbConnection.Execute方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: BulkUpdate
public static void BulkUpdate(DbConnection con, List<AttributeDefinition> models)
{
StringBuilder queryBuilder = new StringBuilder();
string updateAttributeDefinitionQuery = @"
UPDATE AttributeDefinitions
SET IsIdentifier = @IsIdentifier,
IsAutoEncoding = @IsAutoEncoding,
IsDecision = @IsDecision,
AttributeDataType = @AttributeDataType,
Description = @Description,
ValidationStatus = @ValidationStatus
WHERE Id = @Id;
";
string deleteMapRuleQuery = @"
DELETE FROM MapRules WHERE AttributeDefinitionId = @AttributeDefinitionId;
";
string insertMapRuleQuery = @"
INSERT INTO MapRules(AttributeDefinitionId, RuleContent, RuleType) VALUES(@AttributeDefinitionId, @RuleContent, @RuleType);
";
con.Execute(updateAttributeDefinitionQuery, models);
var mapRuleModels = new List<MapRule>();
models.ForEach(p => {
mapRuleModels.AddRange(p.MapRules);
});
if (mapRuleModels.Count > 0)
{
con.Execute(deleteMapRuleQuery, mapRuleModels);
con.Execute(insertMapRuleQuery, mapRuleModels);
}
}
示例2: CheckDbAccess
public void CheckDbAccess(string connectionstring)
{
using (_connection = Utilities.GetOpenConnection(connectionstring))
{
_connection.Execute("CREATE TABLE testdb (Id int)");
_connection.Execute("DROP TABLE testdb");
}
}
示例3: BulkInsert
public static void BulkInsert(DbConnection con, List<AttributeDefinition> models)
{
con.Execute(@"
INSERT INTO AttributeDefinitions(name, rawName, dataFileId, attributeIndex)
VALUES(@Name,@RawName, @DataFileId, @AttributeIndex);
", models);
}
示例4: GenerateInitialDatabase
public void GenerateInitialDatabase(string connectionstring)
{
//if database has versioninfo table ABORT
using (_connection = Utilities.GetOpenConnection(connectionstring))
{
if (_connection.Query<string>("SELECT table_name FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'dbo' AND TABLE_NAME = 'dbversions'").Any())
throw new Exception("What are you doing? The database already exists!");
}
//Regular expression that finds multiline block comments.
Regex findComments = new Regex(@"\/\*.*?\*\/", RegexOptions.Singleline | RegexOptions.Compiled);
using (_connection = Utilities.GetOpenConnection(connectionstring))
{
var statements = Lunch.Data.Install.SQLresources._0001_InitialLoad;
if (string.IsNullOrEmpty(statements))
{
throw new Exception("The sql statement to execute is empty.");
}
string sqlBatch = string.Empty;
foreach (string line in statements.Split(new string[2] {"\n", "\r"}, StringSplitOptions.RemoveEmptyEntries))
{
if (line.ToUpperInvariant().Trim() == "GO")
{
_connection.Execute(sqlBatch);
sqlBatch = string.Empty;
}
else
{
sqlBatch += line + "\n";
}
}
}
}
示例5: Delete
public RestaurantRating Delete(RestaurantRating entity)
{
using (_connection = Utilities.GetProfiledOpenConnection())
{
_connection.Execute("Delete from RestaurantRatings where UserID = @UserID and RestaurantID = @RestaurantID", entity);
}
return entity;
}
示例6: Insert
public int Insert(SearchHistoryLog entity)
{
using (_connection = Utilities.Database.GetProfiledOpenConnection())
{
const string query = "INSERT INTO SearchHistoryLogs (SearchId, SearchDate, LastTweetId, TweetCount) VALUES (@SearchId, @SearchDate, @LastTweetId,@TweetCount)";
return _connection.Execute(query, entity);
}
}
示例7: Delete
public void Delete(long id)
{
using (_connection = Utilities.Database.GetProfiledOpenConnection())
{
const string query = "DELETE FROM Searches WHERE SearchId = @SearchId";
_connection.Execute(query, new { SearchId = id });
}
}
示例8: Insert
public int Insert(IgnoreWord item)
{
using (_connection = Utilities.Database.GetProfiledOpenConnection())
{
const string query = "INSERT INTO IgnoreWords (IgnoreWordId, WordText) VALUES (@IgnoreWordId, @WordText)";
return _connection.Execute(query, item);
}
}
示例9: Install
public static void Install(DbConnection connection, string schema)
{
if (connection == null) throw new ArgumentNullException(nameof(connection));
Log.Info("Start installing Hangfire SQL objects...");
if (!IsSqlEditionSupported(connection))
{
throw new PlatformNotSupportedException("The SQL Server edition of the target server is unsupported, e.g. SQL Azure.");
}
var script = GetStringResource(
typeof(SqlServerObjectsInstaller).GetTypeInfo().Assembly,
"Hangfire.SqlServer.Install.sql");
script = script.Replace("SET @TARGET_SCHEMA_VERSION = 5;", "SET @TARGET_SCHEMA_VERSION = " + RequiredSchemaVersion + ";");
script = script.Replace("$(HangFireSchema)", !string.IsNullOrWhiteSpace(schema) ? schema : Constants.DefaultSchema);
#if NETFULL
for (var i = 0; i < RetryAttempts; i++)
{
try
{
connection.Execute(script);
break;
}
catch (DbException ex)
{
if (ex.ErrorCode == 1205)
{
Log.WarnException("Deadlock occurred during automatic migration execution. Retrying...", ex);
}
else
{
throw;
}
}
}
#else
connection.Execute(script);
#endif
Log.Info("Hangfire SQL objects installed.");
}
示例10: BulkUpdate
public static void BulkUpdate(DbConnection con, List<DataFile> models)
{
StringBuilder queryBuilder = new StringBuilder();
string updateDataFileQuery = @"
UPDATE DataFiles
SET Description = @Description
WHERE Id = @Id;
";
con.Execute(updateDataFileQuery, models);
}
示例11: Add
public static int Add(CySequenceCounterEntity entity, DbConnection conn)
{
const string sql = @"INSERT INTO [dbo].[CySequenceCounter]
([SequenceKey]
,[CounterId]
,UpdateTime)
VALUES
(@SequenceKey
,@CounterId
,@UpdateTime)";
try
{
int result = conn.Execute(sql, entity);
return result;
}
catch (Exception ex)
{
throw ;
}
}
示例12: DropTableIfExists
public void DropTableIfExists(DbConnection db, TableName table)
{
var name = _utils.EscapeTableName(table);
db.Execute($"IF OBJECT_ID('{name}', 'U') IS NOT NULL DROP TABLE {name}");
}
示例13: SaveTimings
private void SaveTimings(List<Timing> timings, DbConnection conn)
{
const string sql = @"INSERT INTO MiniProfilerTimings
(Id,
MiniProfilerId,
ParentTimingId,
Name,
DurationMilliseconds,
StartMilliseconds,
IsRoot,
Depth,
CustomTimingsJson)
SELECT @Id,
@MiniProfilerId,
@ParentTimingId,
@Name,
@DurationMilliseconds,
@StartMilliseconds,
@IsRoot,
@Depth,
@CustomTimingsJson
WHERE NOT EXISTS (SELECT 1 FROM MiniProfilerTimings WHERE Id = @Id)";
foreach (var timing in timings)
{
conn.Execute(
sql,
new
{
timing.Id,
timing.MiniProfilerId,
timing.ParentTimingId,
Name = timing.Name.Truncate(200),
timing.DurationMilliseconds,
timing.StartMilliseconds,
timing.IsRoot,
timing.Depth,
timing.CustomTimingsJson
});
}
}
示例14: SaveClientTimings
private void SaveClientTimings(List<ClientTimings.ClientTiming> timings, DbConnection conn)
{
const string sql = @"INSERT INTO MiniProfilerClientTimings
( Id,
MiniProfilerId,
Name,
Start,
Duration)
SELECT @Id,
@MiniProfilerId,
@Name,
@Start,
@Duration
WHERE NOT EXISTS (SELECT 1 FROM MiniProfilerClientTimings WHERE Id = @Id)";
foreach (var timing in timings)
{
conn.Execute(
sql,
new
{
timing.Id,
timing.MiniProfilerId,
Name = timing.Name.Truncate(200),
timing.Start,
timing.Duration
});
}
}
示例15: InitTablesData
private static void InitTablesData( DbConnection connection )
{
connection.Execute( @"INSERT INTO [test_table] (Id, name) VALUES (1, 'Grinka')" );
connection.Execute( @"INSERT INTO [test_table] (Id, name) VALUES (2, 'Lenk')" );
connection.Execute( @"INSERT INTO [test_table] (Id, name) VALUES (3, 'Gina')" );
}