如何在c#中使用流畅的Api设置可空类型

时间:2016-09-11 05:40:58

标签: c# entity-framework

我正在开发一个MVC应用程序,我有一个包含Type“Gig”属性的模型(我也定义了Gig类),因为这个属性是引用类型(类),它可以为空。

这是我的模特:

public class Notification
{
    [Required]
    public Gig MyGig{ get; set;}
    //More properties defined
}

然后我试图用Fluent API替换我的模型的数据注释,这样:

public class NotificationConfiguration:EntityTypeConfiguration     {         public NotificationConfiguration()         {             #region属性

        // how to implement this
        Property(n => n.Gig)
            .IsRequired();

        #endregion
    }
}

但是当我尝试根据需要设置上一个属性时,我收到以下错误:

  

“Gig”类型必须是非可空值类型才能在泛型类型或方法“StructuralTypeConfiguration.Property(Expression>)”中将其用作参数“T”

如果我将我的属性类型从Gig更改为字符串(仅用于测试目的),流畅的API代码工作正常,因为字符串类型也是引用类型(因此它可以为空)作为我的Gig类型,我想我需要更新我的Gig类定义,但我不知道怎么样,有什么想法吗?或者我该如何实现这个......

1 个答案:

答案 0 :(得分:1)

我刚刚想出了如何使用流畅的Api

实现数据注释
public NotificationConfiguration()
    {
        #region Properties

        //// how to implement this
        HasRequired(n => n.Gig);

        #endregion
    }

就是这样