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來做到這一點。