簡體   English   中英

“ MetadataException,指定的架構無效”

[英]“MetadataException, Schema specified is not valid”

這里有問題,我正在嘗試查詢數據庫,當我從該查詢中選擇某項時,出現此錯誤

指定的架構無效。 錯誤:

Models.Context.AdaptEntities.ssdl(2,58):錯誤0172:所有SSDL工件都必須針對同一提供者。 提供程序“ MySql.Data.MySqlClient”與之前遇到的“ MySql.Data.MySqlClient”不同。

Models.Context.AdaptEntities.ssdl(2,91):錯誤0169:所有SSDL工件都必須針對同一提供者。 ProviderManifestToken'2008'與之前遇到的'5.6'不同。

Models.Context.Unitemps.ssdl(2,54):錯誤0172:所有SSDL工件都必須針對同一提供者。 提供程序“ MySql.Data.MySqlClient”與之前遇到的“ MySql.Data.MySqlClient”不同。

Models.Context.Unitemps.ssdl(2,87):錯誤0169:所有SSDL工件都必須針對同一提供者。 ProviderManifestToken'2008'與之前遇到的'5.6'不同。

有人知道解決方案嗎?

問題是您沒有針對正確的MySQL版本。

第一件事是檢查基於存儲模型(.ssdl)文件中Schema元素的ProviderManifestToken屬性中指定的MySQL版本的Transact-SQL查詢的Entity Framework目標。

此版本可能與您所連接的實際MySQL版本不同。

這是實體框架的一個已知問題...... 從這里拍攝

“某些數據庫行為取決於數據庫的兼容級別。如果您的ProviderManifestToken屬性設置為2005,而SQL Server版本是2005,但是數據庫的兼容級別設置為“ 80”(SQL Server 2000),生成的Transact-SQL將以SQL Server 2005為目標,但是由於兼容性級別設置的原因,可能無法按預期執行。例如,如果ORDER BY列表中的列名與選擇器中的列名匹配,則可能會丟失訂購信息。”

解決方法:打開Entity Framework .edmx文件並手動更改ProviderManifestToken。 編譯后,應更改ssdl文件中指定的清單令牌(用於脫機)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM