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
C# 实体框架一对多合一表 [表格(“菜单”)] 公共类菜单 { /// ///表“菜单”,ID /// 私人内部ID; [关键] [显示(Name=“ID”)] [数据库生成(DatabaseGeneratedOption.Identity)] 公共整数ID { 获取{return\u ID;} 设置{u ID=value;} } /// ///表“菜单”,菜单名 /// 私有字符串_MenuName; [显示(Name=“MenuName”)] 公共字符串菜单名 { 获取{return\u MenuName;} 设置{u MenuName=value;} } /// ///表“菜单”,ParentID /// 私有int_ParentID; [显示(Name=“ParentID”)] 公共int父ID { 获取{return\u ParentID;} 设置{u ParentID=value;} } }_C#_Entity Framework - Fatal编程技术网

C# 实体框架一对多合一表 [表格(“菜单”)] 公共类菜单 { /// ///表“菜单”,ID /// 私人内部ID; [关键] [显示(Name=“ID”)] [数据库生成(DatabaseGeneratedOption.Identity)] 公共整数ID { 获取{return\u ID;} 设置{u ID=value;} } /// ///表“菜单”,菜单名 /// 私有字符串_MenuName; [显示(Name=“MenuName”)] 公共字符串菜单名 { 获取{return\u MenuName;} 设置{u MenuName=value;} } /// ///表“菜单”,ParentID /// 私有int_ParentID; [显示(Name=“ParentID”)] 公共int父ID { 获取{return\u ParentID;} 设置{u ParentID=value;} } }

C# 实体框架一对多合一表 [表格(“菜单”)] 公共类菜单 { /// ///表“菜单”,ID /// 私人内部ID; [关键] [显示(Name=“ID”)] [数据库生成(DatabaseGeneratedOption.Identity)] 公共整数ID { 获取{return\u ID;} 设置{u ID=value;} } /// ///表“菜单”,菜单名 /// 私有字符串_MenuName; [显示(Name=“MenuName”)] 公共字符串菜单名 { 获取{return\u MenuName;} 设置{u MenuName=value;} } /// ///表“菜单”,ParentID /// 私有int_ParentID; [显示(Name=“ParentID”)] 公共int父ID { 获取{return\u ParentID;} 设置{u ParentID=value;} } },c#,entity-framework,C#,Entity Framework,我有这张桌子。我想在ParentID上加入“一对多”。我想从列表中选择父id,并想通过实体框架或fluent api来实现,但对它们不太了解。您可能希望执行以下操作: [Table("Menus")] public class Menus { /// <summary> /// Table "Menus", ID /// </summary> private int _ID; [Key] [Display(Name = "I

我有这张桌子。我想在ParentID上加入“一对多”。我想从列表中选择父id,并想通过实体框架或fluent api来实现,但对它们不太了解。

您可能希望执行以下操作:

[Table("Menus")]
public class Menus
{
    /// <summary>
    /// Table "Menus", ID
    /// </summary>
    private int _ID;
    [Key]
    [Display(Name = "ID")] 
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int ID
    {
        get { return _ID; }
        set { _ID = value; }
    }

    /// <summary>
    /// Table "Menus", MenuName
    /// </summary>
    private string _MenuName;
    [Display(Name = "MenuName")]
    public string MenuName
    {
        get { return _MenuName; }
        set { _MenuName = value; }
    }

    /// <summary>
    /// Table "Menus", ParentID
    /// </summary>
    private int _ParentID;
    [Display(Name = "ParentID")]
    public int ParentID
    {
        get { return _ParentID; }
        set { _ParentID = value; }
    }
}
[表格(“菜单”)]
公共类菜单
{
[关键]
公共int ID{get;set;}
公共字符串菜单名{get;set;}
[外键(“父菜单”)]
public int ParentID{get;set;}
公共虚拟菜单父菜单{get;set;}
公共虚拟列表子菜单{get;set;}
}
一切正常。谢谢 我删除表中的所有行,然后创建迁移。但该属性必须为空:

[Table("Menus")]
public class Menus
{
    [Key]
    public int ID { get; set; }

    public string MenuName { get; set; }

    [ForeignKey("ParentMenu")]
    public int ParentID { get; set; }

    public virtual Menu ParentMenu { get; set; }

    public virtual List<Menu> ChildMenus { get; set; }
}

对但是ID和ParentID有一个问题:ALTER TABLE语句与外键同表约束“FK_dbo.Menus_dbo.Menus_ParentID”冲突。冲突发生在数据库“aspnet-Library123-20131125132608”表“dbo.Menus”列“ID”中。
    public int? ParentID { get; set; }