我的类中有一个属性,我将把它设为可选。唯一的探测是属性正在使用 Guid,并且是必需的。我不知道如何使其可为空。
我试图完成的是使用新表组扩展成员资格提供程序,并在组和用户之间建立一对多链接。
该属性:
public virtual Guid GroupId { get; set; }
public virtual Group Group { get; set; }
那么如何使 Guid 属性可为空呢?
让它Nullable<Guid>
,又名Guid?
:
public virtual Guid? GroupId { get; set; }
如果以前在 C# 中未遇到过可为 null 的值类型,则可能需要阅读它们。
(顺便说一句,你真的需要这个属性是虚拟的吗?您是否期待不同的实现?
Guid?
应该工作得很好。
但我不认为这是你真正想要的,因为我理解正确,你想要一段可选的关系吗?在这种情况下,应删除 GroupId 属性,使其成为可选关系。
第二个选项是使用如下所示的内容标记关系:
modelBuilder.Entity<Bla>().HasOptional(g => g.Group).WithRequired();