Свободно Nhibernate добавляет два столбца ID? - PullRequest
1 голос
/ 02 августа 2011

У меня есть следующие сопоставления:

public AccountMap()
    {
        Id(x => x.AccountId, "AccountId").Column("AccountId");
        Map(x => x.UserId);
        Map(x => x.HostName);
        Map(x => x.CreatedOn);
        Map(x => x.Deleted);
        HasMany(x => x.People);
        Table("crm_accounts");
    }

  public PersonMap()
    {
        Id(x => x.PersonId).Column("PersonId");
        Map(x => x.PersonGuid);
        Map(x => x.FirstName);
        Map(x => x.Surname);
        Map(x => x.Email);
        Map(x => x.Password);
        Map(x => x.SaltKey);
        Map(x => x.PersonType);
        Map(x => x.CreatedOn);
        Map(x => x.Deleted);
        Map(x => x.Active);
        //Map(x => x.AccountId, "AccountId");

        HasManyToMany<PersonRole>(x => x.PersonRoles)
            .ParentKeyColumn("RoleId")
            .ChildKeyColumn("PersonId")
            .Cascade.All()
            .Table("crm_people_roles_mapping");
        References(x => x.Account, "AccountId").Column("AccountId").Cascade.All();
        Table("crm_people");
    }

Когда nhibernate создает таблицы с использованием SchemaExport, я получаю два столбца AccountId в моей таблице crm_people следующим образом:

   AccountId
   Account_Id

Может кто-нибудь сброситьсвет на что я делаю не так?

1 Ответ

1 голос
/ 02 августа 2011

что Фил в своем комментарии сказал как код

public AccountMap()
{
    ...
    HasMany(x => x.People)
        .KeyColumn("AccountId")
        .Inverse();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...