關於ASP.NET MVC+EF報錯提示“不支援關鍵字: "data source......meta data"之類的
阿新 • • 發佈:2019-01-23
常見錯誤:
不支援關鍵字: "data source=(local);initial catalog".
網上大多解決辦法是:
1.data source之間需要插入一個空格或者都是一些低階的拼寫錯誤造成的,
2.或者通過把data source改成server解決的
............
本人遇到的問題,以上均無法解決,最後經過分析後,發現主要原因在於:
1.使用ADO.NET和EF混合使用造成的(首要原因)
2.或者是連用的連線字串裡面的,路徑有問題導致的,出現這樣的情況在於多次重新生成DbEntities,DbContext.tt之類的導致的。 頻繁的刪除Models資料夾,重新生成資料庫上下文DBContext。
另外,要注意配置檔案裡面的連線字串
<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"