Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# EF我是否需要将其安装在引用已使用EF的项目的项目中_C#_Entity Framework_Ado.net - Fatal编程技术网

C# EF我是否需要将其安装在引用已使用EF的项目的项目中

C# EF我是否需要将其安装在引用已使用EF的项目的项目中,c#,entity-framework,ado.net,C#,Entity Framework,Ado.net,我目前有两个项目的解决方案 一个名为domain的空白项目,安装了ef等 现在我有一个c#form项目,它利用了域项目 当我从表单调用域项目时,我得到以下错误: 其他信息:找不到的实体框架提供程序 具有固定名称“System.Data.SqlClient”的ADO.NET提供程序。制作 确保提供程序已在的“entityFramework”部分中注册 应用程序配置文件。看见 了解更多信息 我需要在表单项目上安装EF吗 以下是我的域项目中的一个类: /// <summary> ///

我目前有两个项目的解决方案

一个名为domain的空白项目,安装了ef等

现在我有一个c#form项目,它利用了域项目

当我从表单调用域项目时,我得到以下错误:

其他信息:找不到的实体框架提供程序 具有固定名称“System.Data.SqlClient”的ADO.NET提供程序。制作 确保提供程序已在的“entityFramework”部分中注册 应用程序配置文件。看见 了解更多信息

我需要在表单项目上安装EF吗

以下是我的域项目中的一个类:

  /// <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
        {

        }
    }
}

据我所知,只有域项目需要安装EF。由于我调用的函数执行该项目中的所有EF工作,然后将列表返回到表单项目?

尝试在包管理器控制台(工具->库包管理器->包管理器控制台)上运行以下命令

或者尝试将以下配置添加到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>

我想从EF6开始你就会这样做;几天前,当我使用Nuget更新我的一些项目中的EF时,我就有了


对同一问题的其他答案表明了相同的结论。

在表单项目中?
PM> Install-Package EntityFramework
<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>