BaseObject Save - методNemiro.Data.dll
Сохраняет данные производного класса класса в базу данных.

Пространство имён: Nemiro.Data.Sql
Сборка: Nemiro.Data (в Nemiro.Data.dll) Версия: 2.11.4.126 (2.11.4.126)
Синтаксис

public void Save()
Исключения

ИсключениеУсловие
NoPrimaryKeyOrUniqueFieldsExceptionИсключение возникает, если в производном классе не найдено ни одного свойства с флагами PrimaryKey или Unique.
SqlExceptionИсключение возникает при возврате SQL Server предупреждения или ошибки.
Заметки

Кэширование не используется. Значения свойств CacheDuration и Cache игнорируются.

Для сохранения объекта в базе данных используется один, динамически построенный, SQL-запрос.

Проверка существования данных в таблице производится при помощи оператора EXISTS на стороне SQL Server.

Запрос выглядит примерно так:

IF EXISTS(SELECT [id] FROM [tableName] WHERE [id] = @id) BEGIN 
  UPDATE [tableName] SET [field1] = @field1, ... [field9] = @field9 WHERE [id] = @id;
END 
ELSE BEGIN 
  INSERT INTO [tableName] ([field1], ... [field9]) 
  VALUES (@field1, ... @field9);
  -- используется только при наличии числовых идентификаторов 
  -- для GUID ключ генерируется отдельно, если необходимо 
  SELECT SCOPE_IDENTITY();
END;

См. также