2012-05-17 20 views
1

我有一個屬性在我的班級,我會使可選。只有探頭是該屬性使用Guid並且是標準要求。我不知道如何使它可以爲空。如何在類屬性中允許空的Guid?

即時通訊工具試圖完成的工作是將會員資源擴展到一個新表格組,並在組和用戶之間建立一個一對多的鏈接。

物業:

public virtual Guid GroupId { get; set; } 
public virtual Group Group { get; set; } 

那麼,怎樣才能讓我的GUID屬性爲空的?

回答

4

讓它Nullable<Guid>,又名Guid?

public virtual Guid? GroupId { get; set; } 

如果您有沒有碰到過空值類型在C#來之前,你可能想read up on them

(你真的需要的屬性是虛擬的,順便說一句?你期待不同的實現?)

+0

虛擬是不是真的用於由EF「不同的實現」,它是用來當你瀏覽到它們自動加載引用的對象。否則,你需要明確加載它們。 –

+0

@LeonCullens:對 - 這裏可能就是這種情況。不幸的是,OP沒有給出任何上下文,如EF。 –

+0

你是對的。我只是假設EF :) –

0
Guid? 

應該工作得很好。

但我不認爲這是你真正想要的,因爲我明白你想要一個可選的關係嗎?在這種情況下,您應該刪除GroupId屬性,使其成爲可選關係。

第二個選擇是,以紀念使用像這樣的關係:

modelBuilder.Entity<Bla>().HasOptional(g => g.Group).WithRequired(); 
+0

對不起,我不理解你的關係的例子。你有鏈接或例子白衣更多的信息? – aross

+0

沒關係,我認爲讓GroupIp可以空作品就好:) –