簡體   English   中英

EF6 Code-First Nullable Byte Cast Error?

[英]EF6 Code-First Nullable Byte Cast Error?

我正在使用我的.NET 4.0項目的Entity Framework 6 Code-First與數據庫進行通信。 我正在使用的表中的一列是一個允許NULL值的tinyint。 在我的模型中,我將該列定義為可以為空的字節(byte?)。 我使用LinqPad來測試我的模型。 當我嘗試運行Linq語句,我說Fieldname.HasValue時,我收到以下錯誤:

“從物化'System.Int64'類型到'System.Int16'類型的指定強制轉換無效。”

任何人都可以了解發生了什么事嗎?

我認為數據庫表中列的數據類型是Int64(BIGINT),但您的數據模型有byte?。 您是否需要將基礎表列的數據類型更改為TINYINT或將實體數據模型屬性類型更改為long?。

經驗教訓:當您收到“從物化[type1]到[type2]的指定演員表無效”消息時,請檢查所有字段,而不僅僅是您要查詢的字段。

我的錯誤是假設錯誤與具有可空字節值的字段有關。 原來我有另一個字段我定義為“int”,但SQL類型是“bigint”,因此錯誤。

感謝大家的耐心,幫助和時間。

暫無
暫無

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

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