EF CTP5 Автоматически создавать таблицы SQL Server 2005 - PullRequest
0 голосов
/ 24 января 2011

Я использовал EF 4 CTP5 и следил за сообщением в блоге scottgu: http://weblogs.asp.net/scottgu/archive/2010/07/16/code-first-development-with-entity-framework-4.aspx

В принципе, я хотел бы, чтобы модель генерировала для меня таблицу, если она отсутствует.

В моем случае это жалоба на то, что существует недопустимый объект базы данных, потому что у меня еще нет таблицы.Я использую SQL Server 2005, тогда как в блоге упоминается sql express или ce.

Мне бы хотелось, чтобы режим создавал таблицу, это функция только для sql express и CE?

Спасибозаранее

1 Ответ

3 голосов
/ 24 января 2011

"В принципе, я хотел бы, чтобы модель генерировала для меня таблицу, если она отсутствует"

Этот сценарий в настоящее время не поддерживается с использованием CTP5, однако в ближайшем будущем это можно будет сделать: http://blogs.msdn.com/b/efdesign/archive/2010/10/22/code-first-database-evolution-aka-migrations.aspx

В настоящее время поддерживаются только следующие 2 стратегии инициализации:

// always recreate the database 
DbDatabase.SetInitializer(new DropCreateDatabaseAlways<MyDbContext>());

или

// recreate the database if any changes to the model are detected.
DbDatabase.SetInitializer(new DropCreateDatabaseIfModelChanges<MyDbContext>());

Следует также отметить, что EF создает всю базу данных, а не только таблицы, поэтому вам не нужно создавать базу данных самостоятельно.

...