【问题标题】:error on testing entity framework 5 method from test project测试项目中测试实体框架 5 方法时出错
【发布时间】:2014-07-11 06:58:24
【问题描述】:

我已经创建了 VS 2013 web api 项目 我在这个项目中添加了 EF 5 数据模型并生成代码 我编写了一种使用 EF 5 插入数据的方法 我在同一个解决方案中创建了 VS 2013 测试项目并添加了 web api 项目的参考 写了一个简单的测试方法,执行这个方法的时候报错配置文件中找不到连接字符串,所以我在测试项目的配置文件中添加了连接字符串。

之后出现以下错误:

Model.MyModel.ssdl(2,2):错误 0152:没有实体框架提供程序 为具有不变名称的 ADO.NET 提供程序找到 'System.Data.SqlClient'。确保提供程序已在 应用程序配置文件的“entityFramework”部分。见

然后我将 entityFramework 部分添加到我的测试项目中

现在我收到以下错误

实体框架提供程序类型 'System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer' 在应用程序配置文件中注册 对于具有不变名称“System.Data.SqlClient”的 ADO.NET 提供程序 无法加载。确保程序集限定名称是 并且该程序集可用于正在运行的应用程序。 更多信息请见http://go.microsoft.com/fwlink/?LinkId=260882 信息。

此错误发生在以下行

using (var dbcontext = new MyEntity())

现在如何解决这个问题,我找不到 System.Data.SqlClient 程序集

【问题讨论】:

    标签: c# visual-studio-2013 entity-framework-5


    【解决方案1】:

    如文档所述 here 您需要在应用程序中添加以下代码行:-

    public class MyConfiguration : DbConfiguration 
    { 
        public MyConfiguration() 
        { 
            SetProviderServices( 
                SqlCeProviderServices.ProviderInvariantName, 
                SqlCeProviderServices.Instance); 
        } 
    }
    

    【讨论】:

    • 我没有System.Data.Entity.SqlServerCompact,我还在用EF 5
    • 舒尼尔barobar vach
    • 呵呵呵呵@DhavalPatel kai company ma chho tu?
    • @Neel: Investis at baroda
    【解决方案2】:

    对不起,这是我的错误,不知道如何将两个相同的连接字符串添加到 web api 项目的 web.config 文件中,我删除了其中一个,它工作得很好。

    【讨论】:

    • 哦,太好了..知道了一些新的东西 :))
    猜你喜欢
    • 2013-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-09
    • 1970-01-01
    • 2018-06-25
    • 2013-10-17
    • 2010-12-23
    相关资源
    最近更新 更多