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?
}
Вы можете использовать метод добавления репозитория для добавления коллекции объектов IEnumerable, и это добавит все ваши объекты в один BatchQuery. Поэтому вы должны иметь возможность сделать что-то вроде:
SubSonicRepository<MyEnitity> repo = new SubSonicRepository<MyEntity>(new MyDB());
repo.Add(EntList);