Fluent nHibernate - неправильное имя столбца при самостоятельной ссылке - PullRequest
0 голосов
/ 04 октября 2011

Отображение на внешний ключ производится с неверным именем.Почему?

Вот мои классы:

Порядок свойств кажется важным :

public class Person
{
  public virtual Person Mother { get; set; }
  public virtual IList<Item> Items { get; set; }
  public virtual Person Father { get; set; }
}
public class Item
{
  public virtual string Name { get; set; }
}

Вот сопоставление с Fluent Nhibernate

AutoMap.AssemblyOf<Person>(new CustomAutomappingConfiguration())

Когда я смотрю на базу данных, внешний ключ в таблице выглядит как имя первого свойства с типом Person после свойства Items ,Вот SQL, сгенерированный для создания таблицы:

CREATE TABLE "Item" (Id  integer primary key autoincrement
    , Name TEXT
    , Father_id BIGINT
    , constraint FKC57C4A2B4586680 foreign key (Father_id) references Patient)

Заранее благодарен за помощь;)

1 Ответ

0 голосов
/ 19 июля 2012

Решение, которое я нашел, состоит в том, чтобы переопределить конфигурацию следующим образом:

AutoMap.AssemblyOf<Person>(new CustomAutomappingConfiguration())
    .Override<Person>(m => m.HasMany<Item>(x => x.Items).KeyColumn("Patient_Id"))

Существует ли какое-либо решение, позволяющее автоматически отображать карты?А как работает Fluent nHibernate для выбора имени столбца внешнего ключа?

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