支持SQL Server 2005和2008。

3
我想知道如何使用Entity Framework来访问SQL Server 2008和2005?
我正在开发一个应用程序,针对SQL Server 2008进行开发,并希望它可以在2005和2008下运行。我知道可以在edmx模式文件中通过文本编辑器将ProviderManifestToken从2008更改为2005。但是,当我从数据库更新模型后,它会将ProviderManifestToken更改回2008。
如何告诉Visual Studio在从数据库更新模型时使用2005模式?
谢谢任何帮助!
尼科
3个回答

1

阅读我的博客文章,了解有关EF和ProviderManifestToken的内容。

使用MSBuild.Community Tasks,我添加了一个BeforeBuild目标,该目标使用XmlUpdate任务始终将ProviderManifestToken更改为2005,以防某人通过更新数据模型来更改它。

这是BeforeBuild目标:

<Target Name="BeforeBuild"> <XmlUpdate Prefix="ssdl"
            Namespace="http://schemas.microsoft.com/ado/2009/02/edm/ssdl"
            XPath="//ssdl:Schema/@ProviderManifestToken"
            XmlFileName="Model.edmx"
            Value="2005"/>

0

最简单的方法是将源数据库放入 SQL 2008 服务器上的 SQL 2005 兼容模式(级别90)中。您可以使用 ALTER DATABASE 来完成此操作。


0

我认为手动(hack!)更改edmx目前是唯一的方法。特别麻烦的是当你忘记并将其部署到2005环境中时。 :)

我想知道另一种方法...


请查看我的博客,了解使用MSBuild中的BeforeBuild目标的另一种建议。 - jnosek
你好,杰克。感谢你的更新,那是一篇很棒的博客文章。我有时间时会试一下。 - Joe Ratzer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接