Создать новый и удалить и вставить шаблон - PullRequest
2 голосов
/ 10 августа 2009

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 Ответ

2 голосов
/ 11 августа 2009

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

SubSonicRepository<MyEnitity> repo = new SubSonicRepository<MyEntity>(new MyDB());
repo.Add(EntList);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...