The application:
- .NET 4.5 C#
- Uses EF6 with database first approach
- Supports SQL Server 2008R2, 2012 and 2014
This question is regarding the ProviderManifestToken
attribute of the auto-generated edmx file.
Depending on which version of the database is used (different developers have different version of the database) to update the model from the database, the value of the ProviderManifestToken
attribute either gets set to 2008 or 2012. Until we discontinued support for SQL Server 2005, we made sure that the value of this attribute remained 2005 (see this SO article for more information).
I am wondering if there are similar concerns between 2008 and 2012. What does this attribute really do? It is safe for me to leave it to either value without causing any issues at run time? Or should I make sure that this is always set to 2008 or always set to 2012 to make sure that the application works fine with the versions of the database that we support?
MSDN is not very useful in describing this property. It states that ProviderManifestToken
is
A string that identifies that version of the database server being used. For example, the SQL Server provider uses the string "2008" for SQL Server 2008. This cannot be null but may be empty.
Thanks!