1

私はエンティティを持っています

/// <summary>
/// The greoup.
/// </summary>
public class Group
{
    #region Public Properties

    /// <summary>
    /// Gets or sets the group id.
    /// </summary>
    [Key]
    public int GroupId { get; set; }

    /// <summary>
    /// Gets or sets the parent group id.
    /// </summary>     
    public int ParentGroupId { get; set; }

    /// <summary>
    /// Gets or sets the active.
    /// </summary>
    public int Active { get; set; }

    /// <summary>
    /// Gets or sets the description.
    /// </summary>
    public string Description { get; set; }

    /// <summary>
    /// Gets or sets the group guid.
    /// </summary>
    public Guid GroupGuid { get; set; }

    /// <summary>
    /// Gets or sets the order weight.
    /// </summary>
    public int OrderWeight { get; set; }

    /// <summary>
    /// Gets or sets the parent group.
    /// </summary>
    [ForeignKey("ParentGroupId")]
    public virtual Group ParentGroup { get; set; }

    /// <summary>
    /// Gets or sets the groups.
    /// </summary>
    public virtual ICollection<Group> Groups { get; set; }

    #endregion
}

終了した外部キ​​ーを許可するにはどうすればよいですか。ParentGroupId = 0のときにグループを追加しようとすると、例外が発生するためです。

依存操作の有効な順序を判別できません。依存関係は、外部キーの制約、モデル要件、またはストアで生成された値が原因で存在する可能性があります。

4

1 に答える 1

0

この構造でデータベースに自己参照テーブルを作成しています。そのため、ParentGroupIdnull 可能である必要があります。ルート ノードは parent を持つことはできませんが、そこから発生するすべてのノードには親があるため、ParentGroupIdnull 可能にする必要があります。

于 2013-01-03T11:47:01.850 に答える