Pivot в FluentNhibernate - PullRequest
       7

Pivot в FluentNhibernate

2 голосов
/ 21 декабря 2010

У меня есть структура таблицы следующим образом:

CREATE TABLE MessageParameters 
(
    SequenceId              int                 IDENTITY(1,1) NOT NULL,
    MessageQueueId          int                 NOT NULL,
    ParameterName           varchar(50)         NOT NULL,
    ParameterValue          varchar(300)        NOT NULL,

    CONSTRAINT PK_MessageParameters PRIMARY KEY CLUSTERED(SequenceId)
)

CREATE TABLE MessageQueue
(
    SequenceId              int                 IDENTITY(1,1) NOT NULL,
    MessageType             int                 NOT NULL,
    [Status]                int                 DEFAULT(0) NOT NULL,
    Created                 datetime            DEFAULT(GETDATE()) NOT NULL,
    Modified                datetime            DEFAULT(GETDATE()) NOT NULL,

    CONSTRAINT PK_MessageQueue PRIMARY KEY CLUSTERED(SequenceId)
)

То, что я хочу сделать, это использовать подклассы на основе MessageType для моей объектной модели. Это достаточно просто, но я хотел бы изменить набор параметров в реальных свойствах моего подкласса.

Например, у меня есть (под) класс ActivationEmail

public class ActivationEmail : MessageBase
{
    //shared properties are member of base class

    public string Param1 {get; set;}
    public string Param2 {get; set;}
    public string Param3 {get; set;}
}

приведет к данным в моей таблице MessageParameters выше, как это

ParameterName                              ParameterValue
------------------------------------------ ---------------------------------
Param1                                     value1
Param2                                     value2
Param3                                     value3

Я понимаю, что мог бы иметь List как часть объекта для params и иметь свойства (Param1, Param2 и т. Д.) Для автоматического добавления / обновления / получения данных в этом списке, но я надеюсь, что что-то будет обработано внутри самих отображений.

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