вычисляемый столбец edmx

Я создал EDMX в Visual Studio 2010 SP1. Он был построен из существующей базы данных.

Существует ряд столбцов, сгенерированных базой данных (т. е. не допускающих значение NULL с GETDATE() в качестве значения по умолчанию).

Однако EDMX, похоже, не обнаруживает эти столбцы и не устанавливает для «StoreGeneratedPattern» значение «Computed». Мне придется установить их вручную, чтобы все заработало!

База данных очень большая, поэтому это не идеально.

Это ошибка поколения EDMX или я, вероятно, делаю что-то не так?

Большое спасибо Карл


person Carl Wright    schedule 27.06.2012    source источник


Ответы (1)


Это не ошибка. Это просто работает таким образом, потому что столбец настройки ограничения по умолчанию на текущую дату не является вычисляемым столбцом. Вычисляемый столбец меняет свое значение каждый раз, когда вы сохраняете запись - например, временная метка. Кроме того, свойства, использующие StoreGeneratedPattern, установленные в Identity или Computed, не могут быть установлены из вашего приложения. Ваш столбец принимает другое значение, поэтому EF не может сохранить его по умолчанию — решение принимаете вы.

Если вы хотите использовать значение по умолчанию из базы данных для всех записей, установите StoreGeneratedPattern в Identity. Это гарантирует, что значение будет установлено и запрошено во время вставки. Установка шаблона на Computed будет создавать ненужный запрос после каждого обновления.

person Ladislav Mrnka    schedule 28.06.2012