Как преобразовать класс в унаследованный класс при использовании ActiveRecord - PullRequest
0 голосов
/ 05 июля 2010

У меня есть класс Project и класс Case, который наследуется от Project. При наличии списка Projects мы можем позже принять решение сделать Case из выбранного Project. Как мне этого добиться?

Проект:

[ActiveRecord (Table = "projects", Lazy = true), JoinedBase]
public class Project : ActiveRecordValidationBase<Project>
{
        private int _id;
        [PrimaryKey(PrimaryKeyType.Identity, "id")]
        public virtual int Id
        {
            get { return _id; }
            set { _id = value; }
        }
}

Корпус:

 [ActiveRecord(Table = "cases", Lazy = true)]
    public class Case : Project
    {
        private int _caseId;
        [JoinedKey("case_id")]
        public virtual int CaseId
        {
            get { return _caseId; }
            set { _caseId = value; }
        }
    }

Надеюсь, моя тема и проблема понятны:)

1 Ответ

1 голос
/ 06 июля 2010

См. NHibernate - при изменении подтипов речь идет о дискриминаторах, но в принципе ответ тот же: либо избегайте этой ситуации путем рефакторинга, либо обходите ее с помощью необработанного SQL.

...