3003 是准确的版本(我认为)。我有以下代码(使用 ActiveRecord)创建 2 个新实体,删除任何具有相同“Stamp1”和“Stamp2”值的实体,然后我想将所有内容插入我的 List<MyEntity>
.
我不知道代码是否对删除有效,而且我不知道如何将列表中的所有新内容插入到批处理中。对于 v2.x,我使用了“SaveAll”,但我不理解 3 中的等效功能。
List<MyEntity> EntsList = new List<MyEntity>();
MyEntity myEntA = new MyEntity();
myEntA.Stamp1 = Convert.ToDateTime("1/1/1989");
myEntA.Stamp2 = Convert.ToDateTime("1/1/1990");
EntsList.Add(myEntA);
MyEntity myEntB = new MyEntity();
myEntB.Stamp1 = Convert.ToDateTime("1/1/1989");
myEntB.Stamp2 = Convert.ToDateTime("1/1/1990");
EntsList.Add(myEntB);
for(int d = 0; d < EntsList.Count; d++)
{
MyEntity delEnt =
MyEntity.SingleOrDefault (x => x.Stamp1 == EntsList[0].Stamp1 && x.Stamp2 == EntsList[0].Stamp2);
delEnt.Delete();
}
for(int d = 0; d < EntsList.Count; d++)
{
// How do I insert everything sequentially or all in one batch?
}
最佳答案
您可以使用存储库的 Add 方法添加一个 IEnumerable 对象集合,这会将您的所有对象添加到一个 BatchQuery 中。所以你应该能够做这样的事情:
SubSonicRepository<MyEnitity> repo = new SubSonicRepository<MyEntity>(new MyDB());
repo.Add(EntList);
关于c# - 创建新的和删除和插入模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1256433/