创建新建,删除和插入模式

时间:2009-08-10 18:27:36

标签: c# collections insert lambda subsonic3

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?
}

1 个答案:

答案 0 :(得分:2)

您可以使用存储库的Add方法添加IEnumerable对象集合,这将在一个BatchQuery中添加所有对象。所以你应该能够做到这样的事情:

SubSonicRepository<MyEnitity> repo = new SubSonicRepository<MyEntity>(new MyDB());
repo.Add(EntList);