Не будет точного представления такого рода кода с использованием SubSonic, потому что автоматическая вставка / обновление выполняется специально методом SqlDataAdapter.Update()
. Если есть что-то, похороненное где-то в пространстве имен SubSonic, я также хотел бы знать, как его использовать!
Если вы имеете дело с одной таблицей (например, InvoiceItems
), вы можете выполнить тест самостоятельно (для этого используется автоматически сгенерированная реализация активной записи SubSonic):
int key = InvoiceItems.ID; // not sure what your primary key identifier is called
InvoiceItem item = new InvoiceItem(key);
if (item != null)
{
SPs.InvoiceItem_UPDATE(param1, param2, etc).Execute();
}
else
{
SPs.InvoiceItem_INSERT(param1, param2, etc).Execute();
}
Надеюсь, это поможет вам начать.
Как абсолютно не связанный sidenote, не полагается на DeepSave()
метод , чтобы попытаться сэкономить на нескольких таблицах, потому что он не реализован. Я нашел это трудным путем ...