2014-02-19 3 views
0

В настоящее время у меня есть решение с двумя проектами.EF Должен ли я установить его в проект, который ссылается на проект уже с EF

пустой проект под названием домена, который имеет эфф установленную и т.д.

Теперь у меня есть C# вид проекта, который использует проект домена.

Когда я делаю звонки в проект домена от Teh форм, которые я получаю следующее сообщение об ошибке:

Additional information: No Entity Framework provider found for the ADO.NET provider with invariant name 'System.Data.SqlClient'. Make sure the provider is registered in the 'entityFramework' section of the application config file. See http://go.microsoft.com/fwlink/?LinkId=260882 for more information.

мне нужно установить EF на форме проекта Do?

Вот класс в моем проекте домена:

/// <summary> 
/// Provides Operations to the databse regarding all Service History Requests 
/// </summary> 
public class EFServiceStatusHistoryRepository 
{ 

    public void SubmitEntry(int ServiceId, string Status, string Messages, DateTime LastUpdated) 
    { 
     try 
     { 
      ServiceStatusHistory tmp = new ServiceStatusHistory(); 

      using (var db = new EFDbContext()) 
      { 
       tmp.Service = db.Services.Find(ServiceId); 
       tmp.Status = (ServiceStatus)Enum.Parse(typeof(ServiceStatus), Status); 
       tmp.SetMessages(Messages); 
       tmp.time = DateTime.Now; 
       tmp.LastUpdateTime = LastUpdated; 

       db.ServiceStatusHistory.Add(tmp); 
       db.SaveChanges(); 
      } 
     } 
     catch 
     { 

     } 
    } 
} 

И тогда я называю это в проекте формы:

EFServiceStatusHistoryRepository service = new EFServiceStatusHistoryRepository(); 
service.SubmitEntry(bla,bla,bla); 

это было мое понимание того, что только проект DOMAIN нуждался установлен EF. как функция, которую я вызываю, все EF работает в этом проекте, а затем возвращает список в проект форм?

ответ

0

Я думаю, что вы делаете это с EF6; У меня было a very similar problem всего несколько дней назад, когда я обновил EF в некоторых своих проектах, используя Nuget.

Другие ответы на тот же вопрос указывают на тот же вывод.

0

Попробуйте запустить следующую команду на консоли Package Manager (Tools -> Библиотека Пакет Manager-> Package Manager Console)

PM> Install-Package EntityFramework 

Или попробуйте добавить следующие конфигурации в файл web.config

<providers> 
    <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" /> 
    <provider invariantName="System.Data.SqlServerCe.4.0" type="System.Data.Entity.SqlServerCompact.SqlCeProviderServices, EntityFramework.SqlServerCompact" /> 
</providers> 
+0

В проекте «Формы»? – Zapnologica

Смежные вопросы