1. 程式人生 > >關於ASP.NET MVC+EF報錯提示“不支援關鍵字: "data source......meta data"之類的

關於ASP.NET MVC+EF報錯提示“不支援關鍵字: "data source......meta data"之類的

常見錯誤:

不支援關鍵字: "data source=(local);initial catalog".

網上大多解決辦法是:

1.data source之間需要插入一個空格或者都是一些低階的拼寫錯誤造成的,

2.或者通過把data source改成server解決的

............

本人遇到的問題,以上均無法解決,最後經過分析後,發現主要原因在於:

1.使用ADO.NET和EF混合使用造成的(首要原因

2.或者是連用的連線字串裡面的,路徑有問題導致的,出現這樣的情況在於多次重新生成DbEntities,DbContext.tt之類的導致的。 頻繁的刪除Models資料夾,重新生成資料庫上下文DBContext。

Models資料夾下面的
頻繁生成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=&quot;data source=.;initial catalog=XXXDB;user id=sa;password=XXXXXXX;MultipleActiveResultSets=True;App=EntityFramework&quot;" 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=&quot;data source=.;initial catalog=XXXDB;user id=sa;password=XXXXXXX;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient

" />
</connectionStrings>

注:標紅的地方格外注意!如果是ADO.NET,則providerName="System.Data.sqlClient"