Sql server Mono 3.0.10中连接SqlServer的Entity Framework 6引发提供程序不兼容的异常

Sql server Mono 3.0.10中连接SqlServer的Entity Framework 6引发提供程序不兼容的异常,sql-server,entity-framework,mono,entity-framework-6,Sql Server,Entity Framework,Mono,Entity Framework 6,我创建了一个简单的控制台测试应用程序,它可以与连接SQLServerDB的EntityFramework5配合使用。 然后,我尝试将项目引用从MS EF5替换为Mono EF6,并添加了对Mono EntityFramework.SqlServer.dll的引用,从而将项目转换为使用Mono-3.0.10, 并将App.Config文件更新为实体框架版本6.0.0.0。 我已经成功地使用Visual Studio 2012在Mono 3.0.10配置文件下构建了该项目,没有出现任何错误 现在,当

我创建了一个简单的控制台测试应用程序,它可以与连接SQLServerDB的EntityFramework5配合使用。 然后,我尝试将项目引用从MS EF5替换为Mono EF6,并添加了对Mono EntityFramework.SqlServer.dll的引用,从而将项目转换为使用Mono-3.0.10, 并将App.Config文件更新为实体框架版本6.0.0.0。 我已经成功地使用Visual Studio 2012在Mono 3.0.10配置文件下构建了该项目,没有出现任何错误

现在,当我试图在Mono下运行项目时,我遇到了一个异常: System.Data.Entity.Core.ProviderIncompatibleException:提供程序未返回ProviderManifest实例-->System.UriFormatException:无效Uri。无法确定Uri的格式:System.Data.Resources.SqlClient.SqlProviderServices.ProviderManifest.xml。 有人能帮上忙吗,或者至少提供一个代码示例,演示如何使用Mono?
谢谢

我做了同样的事,也犯了同样的错误。我的解决方案是从源代码(Codeplex,版本6.1.0alpha)编译EntityFramework,并更改SqlProviderManifest.cs中的一行代码

    private static XmlReader GetXmlResource(string resourceName)
    {
        //return XmlReader.Create(typeof(SqlProviderManifest).Assembly().GetManifestResourceStream(resourceName), null, resourceName);
        return XmlReader.Create(typeof(SqlProviderManifest).Assembly().GetManifestResourceStream(resourceName), null, String.Empty);
    }
不太好,但解决了我的问题,直到我尝试了一些非常奇怪的lamba查询或尝试向数据库写入一些内容