Подтвердить что ты не робот

System.Data.Entity.DataBase не найден.

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

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

Спасибо.

4b9b3361

Ответ 1

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

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

Ответ 2

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

Ответ 3

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

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

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

Ответ 4

Угадав, вы обновились от Enterprise Library 4 CTP5 до Enterprise Library 4.1.

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

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

Ответ 5

В моей версии 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>());

Ответ 6

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