In development we use SQL Server 2012, but some customers might have versions as old as 2005. In order to make the Entity Framework data models work with the older versions, the ProviderManifestToken (found in the edmx-file) must be set to 2005.
Now my question is, does this have any side-effects? We have noticed that some data bindings (winforms) broke at about the same time as we changed this, but that could all be a coincidence. So, it this, or are there any other negative effects for changing this value?
ProviderManifestToken is mostly used during Sql Generation to ensure that the generated queries will work on the targeted version of the database. Since in case of Sql Server queries that worked for previous version should continue to work on the current version this should not be a problem. So in general what you are doing should work since you will be sending Sql 2005 queries to Sql 2008/2012 database. I don’t know much about binding but it seems unlikely to me that it was caused by using 2005 as the ProviderManifestToken. The scenario where I saw some surprises was when you change your manifest token from 2005 to 2008 (basically you upgrade your database and your app) – the confusion was mostly around datetime/datetime2 (AFAIR datetime2 types suddenly may show up in queries)