如何在类属性中允许可以为空的Guid?

时间:2012-05-17 15:48:49

标签: c# class data-annotations guid asp.net-mvc-4

我班上有一个属性,我会选择。只有probem是该属性使用Guid并且是标准所必需的。我不知道如何让它可以为空。

我想要完成的是将membershipprovider扩展为新表,Groups,并在Group和Users之间建立一对多的链接。

财产:

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

那么我如何才能使Guid属性成为可空?

2 个答案:

答案 0 :(得分:5)

将其设为Nullable<Guid>,即Guid?

public virtual Guid? GroupId { get; set; }

如果您之前没有在C#中遇到可以为空的值类型,则可能需要read up on them

(你真的需要这个属性是虚拟的吗?顺便问一下?你期待不同的实现吗?)

答案 1 :(得分:0)

Guid? 

应该工作得很好。

但我不认为这是你真正想要的,因为我理解你想要一个可选的关系?在这种情况下,您应该删除GroupId属性,使其成为可选关系。

第二个选项是使用以下内容标记关系:

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