Дублированный ссылочный ключ - Fluent NHibernate Automapping - PullRequest
0 голосов
/ 19 марта 2011

У меня проблема с автоматическим отображением в свободном и справочном ключе.Примером может быть следующее:

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?

1 Ответ

1 голос
/ 19 марта 2011

Я не использовал беглое автоотображение, но, думаю, его смущает тот факт, что у вас есть свойства Parent и Children; Я предполагаю, что бегло не могу сказать, что они оба предназначены для обработки одним и тем же столбцом в базе данных.

Возможно, вам нужно создать ClassMap и указать имена ключевых столбцов для вызовов References () и HasMany ().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...