Я пошел искать библиотеки JavaScript для оценки математических выражений и нашел этих двух перспективных кандидатов:
Создано для использования как в браузере JavaScript, так и в Node.js.
Значения по умолчанию, определенные в структуре таблицы SQL Server, применяются только , если у вас есть оператор INSERT
, который пропускает эти столбцы - например, не предоставляет никакого значения (включая NULL
) для этих столбцов.
EF, тем не менее, всегда будет предоставлять значения для всех столбцов, как определено объектом - например, он предоставит NULL
для любых значений, не установленных явно. Насколько я знаю, с этим ничего не поделаешь.
Есть несколько обходных путей:
вы можете создать хранимую процедуру , которая будет принимать только те значения, которые вы хотите указать, и запускать SQL [114 ] оператор, который опускает столбцы со значениями по умолчанию, например
INSERT INTO dbo.MyTable (colA, colB, ..., colZ) -- *exclude* "Column1" here!
VALUES ( .........)
При этом SQL Server будет использовать настроенные значения по умолчанию для тех столбцов, для которых определен один столбец и которые не упомянуты в списке столбцов оператора INSERT INTO
[ 1115]
вы, вероятно, могли бы сделать что-то похожее на уровне EF, указав второй класс, который был бы почти идентичен вашему текущему классу сущности - но это оставило бы столбцы, которые вы хотите установить с помощью настроенных по умолчанию значений SQL Server. Если вы сохраните эту «уменьшенную» сущность, EF создаст инструкцию SQL, которая будет включать только те столбцы , о которых он знает (в терминах полей этого уменьшенного класса), и это приведет в основном к то же самое, что и выше - утверждение INSERT INTO
, что исключает те столбцы, которые автоматически устанавливаются с помощью настроенного ограничения по умолчанию для SQL Server