![](/img/trans.png)
[英]Dapper with SQL Server output bigint parameter returns int32
[英]EF turned bigint column to int32 in metadata file
對於我數據庫中的表SomeTable ,EF將元數據文件中bigint類型的主鍵轉換為int32類型的屬性,而其等效的,模型生成的部分類對於同一字段具有long類型的數據類型。 當我嘗試從SomeTable加載數據時,這會產生沖突。 在運行時引發以下異常...
System.MissingMethodException was unhandled by user code
HResult=-2146233069
Message=Method not found: 'Int32 RMSDataLibrary.SomeTable.get_ID()'.
Source=GUI_Forms
StackTrace:
at GUI_Forms.DataRetrieval.populateData()
at GUI_Forms.DataRetrieval.DataRetrieval_Load(Object sender, EventArgs e) in E:\RMS\C#\RMS-ESS\GUI_Forms\DataRetrieval.cs:line 25
at System.Windows.Forms.Form.OnLoad(EventArgs e)
at System.Windows.Forms.Form.OnCreateControl()
at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
at System.Windows.Forms.Control.CreateControl()
at System.Windows.Forms.Control.SetVisibleCore(Boolean value)
InnerException:
我無法修改元數據文件以更正數據類型。 為什么可能會產生這種沖突? 對此有什么解決方案嗎?
事實證明,不是將EF而是將數據庫主鍵的數據類型從int更改為bigint的數據庫人員 :)但是以某種方式從我的.edmx中刪除了該表,然后更新了模型,這並未對元數據文件帶來任何更改(EF錯誤???)即使刪除.edmx的所有內容並進行更新也沒有任何效果。
沮喪的是,我刪除了創建的整個ADO.NET EF數據模型文件夾,然后從頭開始重新創建了該文件夾。 並且它解決了問題。
我認為EF應該在更新.edmx文件時更新元數據文件,或者應該允許程序員對其進行更改。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.