Не удается найти System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer

c# entity-framework-6

Вопрос

Я создаю DbContext из SqlConnection. Когда я его использую, я получаю следующую ошибку:

Поставщик Entity Framework типа 'System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer, Version = 6.0.0.0, Culture = neutral, PublicKeyToken = b77a5c561934e089' для поставщика System.ata.SqlClient 'ADO.NET не может быть загружен.

Я использую 6.0.0-alpha2-11210.

Я нашел это странным, так как у меня есть ссылка на Entity.SqlServer и что мне удалось «исправить его», поставив следующую строку кода перед запросом:

var patch_only = System.Data.Entity.SqlServer.SqlProviderServices.Instance;

Это ошибка альфа-версии?

Принятый ответ

Надеюсь, я не опаздываю. Я использую ASP.NET MVC 4 и Entity Framework 6 alpha 3 и столкнулся с аналогичной проблемой.

У меня есть несколько проектов в моем решении. 2 основных проекта:

MyProject.Infrastructure.EntityFramework
MyProject.Web

В первом проекте я бы установил все свои репозитории, DbContext и т. Д. В этом проекте у меня есть 2 ссылки:

MyProject.Infrastructure.EntityFramework
MyProject.Web

Второй проект - мой сайт. Он использует репозитории в первом проекте для возврата моих данных. Например:

MyProject.Infrastructure.EntityFramework
MyProject.Web

Здесь я столкнулся со своими проблемами, вызвав FindById .

Все, что я сделал, это добавить следующую ссылку на мой сайт:

MyProject.Infrastructure.EntityFramework
MyProject.Web

В моем web.config:

MyProject.Infrastructure.EntityFramework
MyProject.Web

И под закрывающим тегом system.webServer :

MyProject.Infrastructure.EntityFramework
MyProject.Web

Я надеюсь, это поможет.


Популярные ответы

Вы создали ссылку на EntityFramework.SqlServer.dll. Это гарантирует, что эта сборка будет скопирована в папку bin проектов, используя сборку доступа к данным.

Вы можете сделать то же самое, добавив что-то вроде следующего в сборку доступа к данным:

Type _Hack = typeof(System.Data.Entity.SqlServer.SqlProviderServices)



Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему
Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему