Проблемы в основном сценарии отображения / детализации через NHiberate, FluentNHibernate - PullRequest
0 голосов
/ 10 августа 2011

Я хочу выполнить следующее требование:

Редактировать Что мне нужно.Может быть одно основное местоположение и подробные местоположения (одно-много).В каждой локации может быть несколько машин.Основное местоположение имеет свое собственное имя машины (в таблице имен машин), а также cartext и IsCar (в таблице CarText).Подробное местоположение использует имя машины из основного местоположения, но имеет собственные столбцы в таблице CarText.Разрешены местоположения мастеров Mutliple (у каждого мастера есть много локаций деталей).

Как мне спроектировать класс Car и отображение ORM в Fluent NHibernate ??

Ниже приведены классы C #:

Below is the tables:

    Table Location:
    LocationId

    Table CarName:
    CarId, LocationId, Name, Colour

The LocationId allows multiple cars. 

    Table CarText:
    CarTextId, CarId, LocationId, Text, IsCar

Заранее спасибо!

1 Ответ

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

Отредактировано: эта структура класса ближе к вашим требованиям?

public class Location
{
    public virtual int Id { get; set; }
    public virtual Car MasterCar { get; set; }
}

public class Car
{
    public virtual Location Location { get; set; }
    public virtual string Name { get; set; }
    public virtual IDictionary<Location, string> TextsByLocation { get; set; }
}

Edit2: это лучше?

public class MasterLocation
{
    public virtual int Id { get; set; }
    public virtual ICollection<Location> Details { get; set; }
    public virtual string CarName { get; set; }
}

public class Location
{
    public virtual MasterLocation Master { get; set; }
    public virtual int Id { get; set; }
    public virtual ICollection<Cars> Cars { get; set; }
}

public class Car
{
    public virtual Location Location { get; set; }
    public virtual string Name
    {
        get { return Location.Master.CarName; }
        set { Location.Master.CarName = value; }
    }
    public virtual string Text { get; set; }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...