本文整理汇总了C#中System.Data.SqlClient.SqlConnection.CreateAll方法的典型用法代码示例。如果您正苦于以下问题:C# SqlConnection.CreateAll方法的具体用法?C# SqlConnection.CreateAll怎么用?C# SqlConnection.CreateAll使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Data.SqlClient.SqlConnection
的用法示例。
在下文中一共展示了SqlConnection.CreateAll方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: collection_insert_with_pks_generates_insert_for_all_with_update_contingencies
public void collection_insert_with_pks_generates_insert_for_all_with_update_contingencies()
{
var dtos = new List<ParentDto>() {new ParentDto {ParentKey = 1}, new ParentDto {ParentKey = 2}};
var logger = new MockSimpleSaveLogger();
SimpleSaveExtensions.Logger = logger;
try
{
using (IDbConnection connection = new SqlConnection()) // TODO: localdb connection
{
connection.CreateAll((IEnumerable<ParentDto>) dtos);
}
}
catch (InvalidOperationException)
{
// Because we haven't opened the connection (deliberately - we don't care; we just want to inspect the scripts)
}
var scripts = logger.Scripts;
Assert.AreEqual(2, scripts.Count, "Unexpected number of scripts.");
foreach (var script in scripts)
{
var sql = script.Buffer.ToString();
Assert.IsTrue(sql.Contains("INSERT INTO dbo.[Parent]"), "No insert on parent.");
Assert.AreEqual(1, Regex.Matches(sql, "INSERT").Count, "Unexpected number of INSERTs.");
Assert.AreEqual(1, Regex.Matches(sql, "UPDATE").Count, "Should be one UPDATE.");
Assert.AreEqual(0, Regex.Matches(sql, "DELETE").Count, "Should be no DELETEs.");
Assert.AreEqual(3, Regex.Matches(sql, "SELECT").Count, "Should be three SELECTs - one to check for existence of row, and two for returning PK value of INSERTED/UPDATED row.");
}
}