Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/261.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# 实体框架引用不包括在内_C#_Entity Framework - Fatal编程技术网

C# 实体框架引用不包括在内

C# 实体框架引用不包括在内,c#,entity-framework,C#,Entity Framework,我们有一个分层的应用程序、表示(MVC)、业务和数据,它们在所有应用程序中共享库。开发人员在表示代码中引用了实体框架 虽然这很糟糕,但一切都起了作用。我现在要求删除此引用,但现在在数据访问层出现错误: “System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer已在应用程序配置文件中注册 对于具有固定名称“System.Data.SqlClient”的ADO.NET提供程序 无法加载“ 我环顾四周,似乎是

我们有一个分层的应用程序、表示(MVC)、业务和数据,它们在所有应用程序中共享库。开发人员在表示代码中引用了实体框架

虽然这很糟糕,但一切都起了作用。我现在要求删除此引用,但现在在数据访问层出现错误:

“System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer已在应用程序配置文件中注册 对于具有固定名称“System.Data.SqlClient”的ADO.NET提供程序 无法加载“

我环顾四周,似乎是因为运行解决方案时“System.Data.SqlClient”没有被“打包”。我还发现了一个“解决方案”,您可以在其中引用某些内容,这使得Visual Studio包含所需的引用:

Type _Temp = typeof(System.Data.Entity.SqlServer.SqlProviderServices);
你从来没用过这个临时的东西。。。这只是为了让VS知道包含某些引用


这是一个有效的解决方案吗?是黑客吗?除了在演示文稿中重新包含EF引用之外,还有更好的方法吗?

所以您使用的是实体框架,而现在您不想使用它?没有,我们使用的是EF,但仅在数据访问层中使用。从演示文稿中删除对EF的任何引用时,应用程序会在运行时失败,并出现上述错误。演示文稿不应具有对EF的任何服务引用。您的演示文稿层不应引用实体框架。删除该层中尝试使用EF的任何内容。包括那条线。是的,这已经完成了。我的申请一开始就很好。但是,当第一个调用通过DAL访问数据库时,它会在尝试将EF连接到数据库时出错,并出现上述错误。数据访问层失败,因为它无法引用某些“引用”。但是如果我创建了一个伪引用(如上面的帖子所示),一切都很好。所以所有的参考资料都从演示文稿中删除了。。。除DAL中的方法外,未尝试数据访问。但它们失败了。\n您如何引入库依赖关系?努吉?还是松散的DLL?