在开发中我们使用 SQL Server 2012,但一些客户的版本可能低至 2005。为了使 Entity Framework 数据模型与旧版本一起工作,必须设置 ProviderManifestToken(在 edmx 文件中找到)到 2005 年。
现在我的问题是,这有任何副作用吗?我们注意到一些数据绑定(bind) (winforms) 大约在我们更改它的同时中断,但这可能只是巧合。那么,是这样,还是改变这个值还有其他负面影响?
最佳答案
ProviderManifestToken 主要在 Sql 生成期间使用,以确保生成的查询将在数据库的目标版本上工作。由于适用于以前版本的 Sql Server 查询应该继续适用于当前版本,所以这应该不是问题。所以一般来说,你正在做的事情应该有效,因为你将向 Sql 2008/2012 数据库发送 Sql 2005 查询。我对绑定(bind)知之甚少,但我认为它不太可能是由使用 2005 作为 ProviderManifestToken 引起的。当您将 list token 从 2005 年更改为 2008 年(基本上是您升级数据库和应用程序)时,我感到有些意外——混淆主要围绕 datetime/datetime2(AFAIR datetime2 类型突然可能出现在查询中)
关于sql-server - 在 edmx 文件(支持 SQL Server 2005)上使用 ProviderManifestToken=2005 有任何副作用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14620414/