我有两个班:地址和城市。我希望在地址类中需要city属性,但是当我将property(p => p.City).IsRequired()
添加到流畅的api时,我得到City必须是非可空值类型的错误,但是当我用[Required]注释装饰City属性时,一切正常。
那么如何用流畅的api来实现呢?为什么property(p => p.Street).IsRequired()
适用于字符串 - 字符串不是非可空的值类型
public class Address
{
public int AddressId { get; private set; }
public string Street { get; internal set; }
[Required]
public City City { get; internal set; }
}
public class CIty
{
public int CityId {get; private set; }
public string Name {get; internal set;}
}
答案 0 :(得分:4)
为了指定关系的基数,您需要使用HasRequired
方法 - Property
方法仅用于标量属性。
modelBuilder.Entity<Address>().HasRequired(a => a.City);