Создать новый и удалить и вставить шаблон

2

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?
}
Теги:
lambda
collections
insert
subsonic3

1 ответ

2
Лучший ответ

Вы можете использовать метод добавления репозитория для добавления коллекции объектов IEnumerable, и это добавит все ваши объекты в один BatchQuery. Поэтому вы должны иметь возможность сделать что-то вроде:

SubSonicRepository<MyEnitity> repo = new SubSonicRepository<MyEntity>(new MyDB());
repo.Add(EntList);
  • 0
    Но я делаю ActiveRecord, чтобы он не работал, верно?
  • 0
    Вы все еще получаете всю функциональность хранилища с ActiveRecord, так что да, это должно работать.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню