簡體   English   中英

EF將元數據文件中的bigint列轉換為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.

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