Набор внешних ключей NHibernate - PullRequest
0 голосов
/ 01 июля 2011

У меня есть:

class Garage {
    int garageID;
    ISet<Car> cars
}

, если у класса автомобилей есть garageID в качестве одного из его свойств, например:

class Car {
   int carID;
   int garageID;
   String name;
}

Вот как это выглядит в базе данных, ноинтересно, должны ли классы на стороне многих иметь внешний ключ в качестве свойства, или ORM просто добавляет это при выполнении SQL (при условии, что вы можете указать его в файле сопоставлений).

1 Ответ

1 голос
/ 01 июля 2011

Короче говоря: Нет. (И да, ORM позаботится о FK на основе ваших файлов сопоставления)

В таблице "Car" будет указан GarageId, но вы не должны добавлять его в Carкласс.

Вы можете иметь двунаправленные отношения (хотя мнения о том, являются ли они хорошей идеей, расходятся).

Двунаправленные отношения сделали бы Автомобилькласс выглядит следующим образом:

public class Car {
     public virtual int Id {get; set;}
     public virtual Garage Garage {get; set;}  //You can traverse back up to Garage
     public virtual string Name {get; set;}
}

Если вы хотите, чтобы я опубликовал карты Fluent / XML, дайте мне знать.

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