У меня есть Служба данных WCF с лицом по имени Контракт.
Между Контрактами и Котировками есть много-много: (*) Контракт <----> (*) Котировки
У меня есть метод, который добавляет / удаляет ссылки между контрактами и кавычками.
и иногда я получаю исключение updateException, потому что я пытаюсь добавить ссылку между Контрактом и Цитатой, когда ссылка уже существует.
Я хочу написать запрос, который добавляет ссылку, только если ссылка еще не существует, без необходимости запрашивать в базе данных существующие ссылки между моим контрактом и кавычками.
Есть ли способ сделать это с помощью деревьев выражений? или Линк?
На данный момент я делаю это:
void ModifyContract(Contract ctr)
{
var contractInDb = (from c in service.Contracts.Expand("Quotes")
where c.Id == ctr.Id).Single();
foreach(q in ctr.Quotes)
{
if( ! contractInDb.Quotes.Contains(q))
{
service.AddLink(ctr,"Quotes", q);
}
}
service.SaveChanges();
}