Отображение полей Nhibernate между унаследованными классами. - PullRequest
0 голосов
/ 05 марта 2012

У меня есть два класса с одинаковыми полями с соответствующими таблицами, которые тоже идентичны. Я имею в виду, что эти таблицы имеют одинаковые столбцы с одинаковыми именами. Я разделяю это в структуре базы данных, потому что я не уверен, влияет ли это на постоянство данных.

Мой вопрос:

Могу ли я реализовать корневой класс с общими полями и присвоить ему имя столбцов, а затем в дочернем классе определить, что это соответствует таблице?

Например, класс RootCard:

public virtual class IRootCard: ModelEntity, IEntity
    {

        private User _player;
        [ManyToOne(Column = "player_id")]
        public virtual User Player
        {
            get { return _player; }
            set { _player = value; }
        }

    private Lobby _game;
    [ManyToOne(Column = "game_id",NotNull = true)]
    public virtual Lobby Game
    {
        get { return _game; }
        set { _game = value; }
    }

.... }

и затем реализовать два дочерних класса Card и HistoricCard просто с определением соответствующей таблицы:

[Class(Table = "bingogame_cardtoplay")]
public class Card: IRootCard
{
}

и

[Class(Table = "bingogame_cardtoplay")]
public class HistoricCard: IRootCard
{
}

Правильно ли отображается в каждой из таблиц, не влияя на другую?

...