Entity Framework не создает классы для таблиц или процедур

Я использую Entity Framework для создания классов и функций в C#, которые мне нужны для взаимодействия с SQL server.

для справки, вот одна из моих таблиц:

SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE [dbo].[Area](
    [ID] [bigint] identity (1, 1) primary key,
    [Name] [nvarchar](100) NOT NULL
    )
GO

после запуска мастера модели данных сущности (с помощью "EF Designer from database") мой проект имеет файл edmx и несколько новых .cs-файлы, но похоже, что он не генерирует все, что ему нужно.

в моем классе DatabaseEntities, например, у меня есть got:

    public virtual DbSet<Area> Areas { get; set; }

однако нет определения для типа "область" (наряду с тремя другими отсутствующими типами). Мне также не хватает функций для хранимых процедур.

Я попытался удалить новые файлы и повторно запустить мастер модели, но я получаю тот же результат.

кто - нибудь еще столкнулся с этим?

заметками на полях истории болезни:

Я заметил во время последних нескольких попыток, что я также получаю ошибку при запуске мастера: "Пакет Entity Framework не установлен в project". Тем не менее, он все еще генерирует edmx и модель.контекст, когда я нажимаю мимо него.

у меня была такая же проблема с версиями Entity Framework 6.0.0 и 6.1.2.

переустановка фреймворка не повлияла на проблему(ы).

обновление:

удаление nuget и переустановка последней версии позволили мне установить EntityFramework через nuget без ошибок. Однако теперь ADO.NET в диалоге Добавить новый элемент отсутствует модель данных.

3 ответов


в том, что я сделал, было несколько шагов, и я должен отдать должное людям, которые прокомментировали ниже Вопрос.

1) я удалил менеджер пакетов nuget и переустановил последнюю версию (по-видимому, моя не была свежей). Это позволило мне установить EntityFramework через nugget без ошибок или сообщений отката.

2) я не уверен, помогло ли это или нет, но я также переустановил Entity Framework Tools для Visual Studio через веб-сайт Microsoft. Я все еще не уверен, если это надо обоим.

3) ADO.NET в диалоге Добавить новый элемент отсутствовал шаблон модели данных сущности. После выбора " добавить - > компонент "вместо" Добавить -> новый элемент", он затем мистически появился в обоих списках.

Как только это было сделано, я смог запустить EF Designer и все сгенерированное без проблем.


убедитесь, что ваши имена столбцов не являются зарезервированными словами, такими как типы данных или ключевые слова; у меня была проблема сегодня, пытаясь импортировать таблицу со столбцом, который кто-то просто назвал "датой", что, очевидно, является типом данных, и что goofed up EF. Когда я создал представление в SQL и сгладил столбец с неограниченным именем, таблица импортировала просто отлично и сгенерировала все необходимые классы.


лично я бы настоятельно рекомендовал использовать подход, основанный на коде, а не на дизайнере. Как дизайнер неприятности!!!

Код Первый Учебник

вызов хранимых процедур из кода First