0

我有两个类:地址和城市。我希望在地址类中需要 city 属性,但是当我添加property(p => p.City).IsRequired()到 fluent 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;}
}
4

1 回答 1

4

为了指定关系的基数,您需要改用该HasRequired方法——该Property方法仅用于标量属性。

modelBuilder.Entity<Address>().HasRequired(a => a.City);
于 2013-11-04T17:46:11.163 回答