Вы также должны быть в состоянии сделать это так:
// perform insert with a linq expression
db.Insert.Into<PARTS_VI_PART_NUMBER>(
x => x.ITEM_NUMBER,
x => x.ITEM_CLASS_CODE,
x => x.ITEM_DESCRIPTION,
x => x.MANUFACTURER
).Values(
"TEST",
"TEST",
"TEST",
"TEST"
).Execute();
// update using linq expression
db.Update<PARTS_VI_PART_NUMBER>()
.Set(x => x.ITEM_DESCRIPTION == "UPDATED",
x => x.ITEM_CLASS_CODE == "UPDATED2")
.Where(x => x.ITEM_NUMBER == "TEST")
.Execute();
// delete inserted row with a linq expression
db.Delete<PARTS_VI_PART_NUMBER>(x => x.ITEM_NUMBER == "TEST").Execute();
По крайней мере, так я делал в одном из моих проектов.
Методы Insert()
, Update()
и Delete()
генерируются Context.tt
в файл Context.cs
(я использую файлы "ActiveRecord" T4).
Редактировать
О, извините, когда я впервые прочитал ваш вопрос, я подумал, что вы спрашиваете о более простом способе «Вставить» или «Обновить» , но после перечитывания я понял, что вы запрашивают «Вставить или обновить, если он уже существует» , например, выполнить «upsert».
Извините, мой ответ на самом деле не распространяется на это. Я тоже не знаю хорошего способа сделать это. Я обычно просто заканчиваю тем, что делаю, а вы пытаетесь выбрать это, и если я не получаю результатов, вставьте.