2012-06-27 8 views
2

Я создал EDMX в visual studio 2010 SP1. Он был создан из существующей базы данных.Вычисленный столбец edmx

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

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

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

Является ли это ошибкой с генерацией EDMX или я, вероятно, буду делать что-то неправильно?

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

ответ

1

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

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

Смежные вопросы