常见错误:
不支持关键字: “data source=(local);initial catalog”.
不支持关键字“meta data”
网上大多解决办法是:
1.data source之间需要插入一个空格或者都是一些低级的拼写错误造成的,
2.或者通过把data source改成server解决的
…
本人遇到的问题,以上均无法解决,最后经过分析后,发现主要原因在于:
1.使用ADO.NET和EF混合使用造成的(首要原因)
2.或者是连用的连接字符串里面的,路径有问题导致的,出现这样的情况在于多次重新生成DbEntities,DbContext.tt之类的导致的。 频繁的删除Models文件夹,重新生成数据库上下文DBContext。
频繁生成Models文件夹的话,切记注意考虑这里的问题
另外,要注意配置文件里面的连接字符串
<connectionStrings>
<add
name="DBEntities" connectionString="metadata=res://*/Models.XXXDB.csdl|res://*/Models.XXXDB.ssdl|res://*/Models.XXXDB.msl;provider=System.Data.SqlClient;provider connection string="data source=.;initial catalog=XXXDB;user id=sa;password=XXXXXXX;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
</connectionStrings>
其中connectionString="metadata=res://*/Models.XXXDB.csdl|res://*/Models.XXXDB.ssdl|res://*/Models.XXXDB.msl;provider=System.Data.SqlClient;provider connection string="data source=.;initial catalog=XXXDB;user id=sa;password=XXXXXXX;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
</connectionStrings>
注:标红的地方格外注意!如果是ADO.NET,则providerName=“System.Data.sqlClient”