2017-06-23 76 views
0

我在使用PetaPoco將一個十進制值插入數據庫時​​遇到了問題。使用petapoco將十進制插入到數據庫時出錯

在我的模型我有廣告載體:

[Column("Price")] 
    public decimal PriceTotal { get; set; } 

,並在DATABSE相關列Price的類型是decimal(18, 2)

的當我做插件:

public void InsertModel(MyViewModel model) 
    { 
     _database.Insert(model); 
    } 

我m出現錯誤:

System.InvalidCastException: 'Invalid cast from 'System.Decimal' to 'System.Nullable`1[[System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]'.' 

不知道我還能怎麼做?不是decimal翻譯爲SQL服務器的decimal(18,2)

+0

你並不需要翻譯什麼。你*看過*錯誤信息了嗎?您正試圖將整數字節保存或讀取到整數字段中 –

+0

發佈* full *異常,包括其調用堆棧,表架構和*可重現*代碼示例。也許你在數據庫和數據庫中定義了'ID(數字(18,2)'和類型'int',導致ORM試圖檢索自動生成的ID時發生錯誤 –

+0

我寫了正確的代碼。不知道如果對待我像一個白癡是一個解決方案。 – nickornotto

回答

0

您可以使用此decimal?

[Column("Price")] 
public decimal? PriceTotal { get; set; } 
+0

這不是錯誤所在。您不需要一個可以爲空的小數來將數據存儲在十進制數據庫字段中 –

+0

謝謝。這是行不通的 - 事實證明這是另一個字段是整數的錯誤,不知道它爲什麼要喊十進制,而與模型中唯一的十進制屬性完全沒有關係。 – nickornotto

相關問題