我有一個使用LINQ而不是ORM映射到表的類。它可以處理類中的所有字符串,並將它們顯示在視圖中。不過,如果我添加任何Int32
,Int16
或DateTime
我得到的錯誤無法將空值分配給類型爲Int32的成員,但字符串可以工作
空值不能被分配到與類型的成員。
用下面的代碼:
[Table(Name = "RegisterBoo")]
public class RegistrationBoo
{
[Column] public string BooNum { get; set; }
//[Column(CanBeNull = true)] public Int32 ServiceStatusId { get; set; }
如果我去掉了註釋行的代碼在控制器出現故障:
return View(BooRepository.Registrations.ToList());
與:
空值不能分配給Int32類型的成員
數據庫中的大多數列可以是NULL,這是我無法更改的,因爲我不是DBA。爲什麼CanBeNull
無效?我該如何解決這個錯誤?我也嘗試使用Nullable<>
並使用論壇中概述的一些想法。
你嘗試過可空類型嗎? 'Int32?','DateTime?'等等。或者'可空的' - **編輯** nvm,看起來像您一樣。 –
2011-12-23 15:52:47
使「int」和「DateTime」可爲空應該已經工作。當你嘗試這個時,有什麼問題? – ChrisF 2011-12-23 15:53:22