System.Data.Entity.DataBase не может быть найден - PullRequest
18 голосов
/ 11 июня 2011

Я не могу найти DataBase в System.Data.Entity.

Кто-нибудь знает почему?

Спасибо.

Ответы [ 6 ]

22 голосов
/ 23 июня 2011

Вам не нужно импортировать System.Data.Entity.Database. System.Data.Entity достаточно. Используйте Database.SetInitializer вместо DbDatabase.SetInitializer.

Если вы пропустили его, класс называется Database без "Db"

8 голосов
/ 11 июня 2011

Вам необходимо сослаться на сборку EntityFramework.dll, в которой объявлен класс База данных .Вы можете установить его из соответствующего пакета NuGet .

3 голосов
/ 29 июня 2011

У меня такая же проблема. Ответ Даза и Дарина дал мне некоторые подсказки.

В CTP имя класса называется «DbDatabase» в пространстве имен System.Data.Entity.Database.

Но в моей версии, которая является EF 4.1, класс называется «База данных» и находится в System.Data.Entity. Пространство имен System.Data.Entity.Database по крайней мере в EF4.1

1 голос
/ 05 июля 2011

Предположительно, вы обновили версию Enterprise Library 4 CTP5 до Enterprise Library 4.1.

Пространства имен немного изменились, и теперь вы найдете нужные вам классы в разных пространствах имен.Как показано в ответе Каспера Скова, класс DbDatabase теперь находится в System.Data.Entity и переименован в Database.

Я еще не определился, куда IConfigurationConvention переместился как System.Data.Entity.ModelConfiguration.Conventions.Configurationдругое несуществующее пространство имен.

0 голосов
/ 04 сентября 2016

Просто обновите вашу Entity Framework, чтобы сделать это, просто щелкните правой кнопкой мыши на решении и выберите «Управление пакетом NuGet» и выполните поиск с помощью «EntityFramework». установите последнюю версию (6.1.3 или) или используйте «Консоль пакета NuGet» введите описание изображения здесь

0 голосов
/ 01 сентября 2011

В моей версии Entity Framework 4.1.10715.0 ', System.Data.Entity.Database - это пространство имен, а не класс.DbDatabase - это класс в этом пространстве имен, содержащий метод SeInitializer.Какую PITA найти, когда все, что я прочитал, противоречит этому.

Мне пришлось использовать следующее, чтобы демо-версия Стивена Сандерсона переделала мою базу данных.

System.Data.Entity.Database.DbDatabase.SetInitializer(
    new System.Data.Entity.Database.DropCreateDatabaseIfModelChanges<Mvc3ScaffoldDemo.Models.Mvc3ScaffoldDemoContext>());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...