Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# EF 6 fluent api是必需属性_C#_Entity Framework_Validation - Fatal编程技术网

C# EF 6 fluent api是必需属性

C# EF 6 fluent api是必需属性,c#,entity-framework,validation,C#,Entity Framework,Validation,我有两个班:地址和城市。我希望address类中需要city属性,但当我将属性(p=>p.city).IsRequired()添加到fluent api时,我得到一个错误,即city必须是不可为null的值类型,但当我用[required]注释装饰city属性时,一切都正常 那么,如何使用fluent api实现这一点,以及为什么属性(p=>p.Street).IsRequired()适用于字符串-字符串不是不可为空的值类型 public class Address {

我有两个班:地址和城市。我希望address类中需要city属性,但当我将
属性(p=>p.city).IsRequired()
添加到fluent api时,我得到一个错误,即city必须是不可为null的值类型,但当我用[required]注释装饰city属性时,一切都正常

那么,如何使用fluent api实现这一点,以及为什么
属性(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;}
}

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

modelBuilder.Entity<Address>().HasRequired(a => a.City);
modelBuilder.Entity().HasRequired(a=>a.City);

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

modelBuilder.Entity<Address>().HasRequired(a => a.City);
modelBuilder.Entity().HasRequired(a=>a.City);