2017-01-16 6 views
1

Я использую EntityFramework 6.1.3. Я создал модели из существующей базы данных. Теперь, когда вы пытаетесь запросить базу данных, datacontext возвращает null. База данных кажется пустой.Entity Framework не возвращает данные

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

Однако я не уверен, что это так в моей ситуации.

  1. Моя строка подключения указывает на удаленный сервер.
  2. Невозможно создать базу данных на удаленном сервере, поскольку у нас нет авторизации.
  3. База данных не была создана на моем локальном компьютере, так как у меня даже не установлен локальный сервер sql. И папка AppData пуста.

Любые предложения? Сформирован строка соединения ниже

 <add name="MAST_DEV" connectionString="metadata=res://*/Models.Mast_DevModel.csdl|res://*/Models.Mast_DevModel.ssdl|res://*/Models.Mast_DevModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=xxxxxx;initial catalog=MASTER_DEV;user id=xxxxx;password=xxxxxx;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" /> 
+1

Первым шагом может быть: попытаться установить соединение с Sql Server Management Studio и посмотреть, соответствует ли эта строка соединения той, которая используется. –

+0

Да, я могу подключиться. Я абсолютно уверен, что все учетные данные и имя сервиса верны. Я также использую одни и те же запросы, так что это не ошибка ошибки пропавшего счетчика или что-то вроде этого – mirosz

ответ

1

Я не знаю, что я делаю неправильно. Я создал простой проект с нуля, сгенерировал модели, и теперь он отлично работает. Возможно, ранее я выбрал «Код сначала из базы данных» из Мастера моделей данных сущностей. В то время как на этот раз «EF Designer из базы данных». Во всяком случае, спасибо за помощь. Это была моя ошибка

+0

, в чем была ваша ошибка? –

0

Это точное решение моей проблемы (ответ копируется здесь Entity Framework cant use the DbContext, model being created)

«Я вижу, что вы используете EDMX с шаблонами (.TT) для создания классов. Но если вы получаете информацию из существующей базы данных, мастер создаст ConnectionString, совместимый с ObjectContext (информация о метаданных и поставщик сущности).

Проблема заключается в том, что используемая строка соединения используется для ObjectContext (Database First и Model First). Для DbContext вы должны использовать строку соединения без информации метаданных «