我有一個屬性在我的班級,我會使可選。只有探頭是該屬性使用Guid並且是標準要求。我不知道如何使它可以爲空。如何在類屬性中允許空的Guid?
即時通訊工具試圖完成的工作是將會員資源擴展到一個新表格組,並在組和用戶之間建立一個一對多的鏈接。
物業:
public virtual Guid GroupId { get; set; }
public virtual Group Group { get; set; }
那麼,怎樣才能讓我的GUID屬性爲空的?
我有一個屬性在我的班級,我會使可選。只有探頭是該屬性使用Guid並且是標準要求。我不知道如何使它可以爲空。如何在類屬性中允許空的Guid?
即時通訊工具試圖完成的工作是將會員資源擴展到一個新表格組,並在組和用戶之間建立一個一對多的鏈接。
物業:
public virtual Guid GroupId { get; set; }
public virtual Group Group { get; set; }
那麼,怎樣才能讓我的GUID屬性爲空的?
讓它Nullable<Guid>
,又名Guid?
:
public virtual Guid? GroupId { get; set; }
如果您有沒有碰到過空值類型在C#來之前,你可能想read up on them。
(你真的需要的屬性是虛擬的,順便說一句?你期待不同的實現?)
Guid?
應該工作得很好。
但我不認爲這是你真正想要的,因爲我明白你想要一個可選的關係嗎?在這種情況下,您應該刪除GroupId屬性,使其成爲可選關係。
第二個選擇是,以紀念使用像這樣的關係:
modelBuilder.Entity<Bla>().HasOptional(g => g.Group).WithRequired();
對不起,我不理解你的關係的例子。你有鏈接或例子白衣更多的信息? – aross
沒關係,我認爲讓GroupIp可以空作品就好:) –
虛擬是不是真的用於由EF「不同的實現」,它是用來當你瀏覽到它們自動加載引用的對象。否則,你需要明確加載它們。 –
@LeonCullens:對 - 這裏可能就是這種情況。不幸的是,OP沒有給出任何上下文,如EF。 –
你是對的。我只是假設EF :) –