Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/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
Entity framework 实体代码第一个零或一对零或一关系_Entity Framework_Relationship_Code First - Fatal编程技术网

Entity framework 实体代码第一个零或一对零或一关系

Entity framework 实体代码第一个零或一对零或一关系,entity-framework,relationship,code-first,Entity Framework,Relationship,Code First,管理实体代码前零或一对零或一关系的解决方案是什么 我想拥有这两个实体的资产净值 我已经使用数据注释进行了测试: public class class1() { public int Id {get;set;} public virtual Class2 Class2 {get;set;} } public class class2() { public int Id {get;set;} public int? Class1Id {get;set;} [

管理实体代码前零或一对零或一关系的解决方案是什么

我想拥有这两个实体的资产净值

我已经使用数据注释进行了测试:

public class class1()
{
    public int Id {get;set;}
    public virtual Class2 Class2 {get;set;}
}

public class class2()
{
    public int Id {get;set;}
    public int? Class1Id {get;set;}
    [Required, ForeignKey("Class1Id")]
    public Class1 Class1 {get;set;}
}
我总是有一条错误消息:“Class1\u Class2\u Target::在关系“Class2\u Class1”中的角色“Class2\u Class1\u Target”中多重性无效。因为依赖角色属性不是关键属性,所以依赖角色的多重性上限必须为“*”

我找到了使用fluent API的示例,但如果可能的话,我希望使用数据注释。实际上,对于所有使用fluent api的示例,都有一个导航属性,但int外键会从类中删除:

class Class1Map : EntityTypeConfiguration<Class1>
{
    public Class1Map()
    {
        this.HasKey(c => c.Id);
        this.Property(c => c.Id)
            .HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity);
        this.HasRequired(c1 => c1.Class2).WithRequiredPrincipal(c2 => c2.Class1);
    }
}

public class Class1()
{
    public int Id {get;set;}
    public virtual Class2 Class2 {get;set;}
}

public class Class2()
{
    public int Id {get;set;}
/* Missing Class2Id Property */
    public virtual Class1 Class1 {get;set;}
}
class ClassMap:EntityTypeConfiguration
{
公共地图()
{
this.HasKey(c=>c.Id);
this.Property(c=>c.Id)
.HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity);
this.HasRequired(c1=>c1.Class2)。带有RequiredPrincipal(c2=>c2.Class1);
}
}
公共类1()
{
公共int Id{get;set;}
公共虚拟类2类2{get;set;}
}
公共类2()
{
公共int Id{get;set;}
/*缺少Class2Id属性*/
公共虚拟类1{get;set;}
}

关于这方面的文章有很多,所以我建议你在问这样的一般性问题之前,再多读一点文章和谷歌搜索。

一个非常常见的问题:到目前为止你尝试了什么?为了帮助你自己的研究,这种关系可以称为可选关系或可选关系