簡體   English   中英

重復的參考鍵-Fluent NHibernate自動映射

[英]Duplicated reference key - Fluent NHibernate Automapping

我在流利和參考鍵的自動映射方面遇到問題。 例如:

public class ConfigurationCategory
{

    public virtual Guid Id { get; private set; }

    [NotNull]
    public virtual String Name { get; set; }
    public virtual String Description { get; set; }
    public virtual String Icon { get; set; }       

    public virtual ConfigurationCategory Parent { get; set; }

    public virtual IList<ConfigurationCategory> Children { get; private set; }

    public ConfigurationCategory()
    {
        Children = new List<ConfigurationCategory>();

    }
}

結果為以下SQL輸出:

  CREATE TABLE "ConfigurationCategory"
  ...
  parent_id uuid,

  configurationcategory_id uuid,

  CONSTRAINT "ConfigurationCategory_pkey" PRIMARY KEY (id),

  CONSTRAINT fk6ccc850055890dc8 FOREIGN KEY (configurationcategory_id)
      REFERENCES "ConfigurationCategory" (id) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION,

  CONSTRAINT fk6ccc8500ee71b726 FOREIGN KEY (parent_id)
      REFERENCES "ConfigurationCategory" (id) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION 

為什么要復制ConfigurationCategory?

我沒有使用過流暢的自動映射功能,但是我想您同時擁有Parent和Children屬性會使您感到困惑。 我想流利的說不出它們都是要由數據庫中的同一列處理的。

您可能需要創建一個ClassMap並為References()和HasMany()調用指定鍵列名稱。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM