3

我想知道如何在SQL Server 2008和2005中使用实体框架?支持SQL Server 2005和2008

我开发了一个针对SQL Server 2008的应用程序,并希望它可以在2005和2008下运行。 我知道在Texteditor的edmx Schema文件中可以将ProviderManifestToken从2008更改为2005。但之后,我从数据库更新我的模型,可以改变ProviderManifestToken回至2008年

我怎么能告诉Visiual工作室使用的2005架构的时候,我从数据库更新我的模型?

感谢您的帮助!

尼科

回答

0

我想手动(破解!)EDMX变化是目前的唯一途径。特别烦,当你忘记,并将其与2005年部署到环境:)

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

+0

结帐我的[博客](http://www.programmingmotility.com/2011/05/setting-providermanifesttoken-for-sql.html)中的MSBuild使用BeforeBuild目标的另一建议。 – jnosek 2011-05-02 18:51:41

+0

你好杰克。感谢您的更新,这是一篇很好的博客文章。当我有一些时间时,我会放弃它。 – 2011-05-03 13:59:07

1

阅读我的EF和ProviderManifestToken blog post

使用MSBuild.Community Tasks,我补充说,使用XMLUPDATE任务始终改变ProviderManifestToken到2005年BeforeBuild目标,万一有人通过更新数据模型改变了它。

这里是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 2005保持兼容模式(90级),你的SQL 2008服务器上。你可以使用ALTER DATABASE来做到这一点。