Я использую «Наследование таблиц классов - Использование объединенных подклассов», как описано здесь: http://www.castleproject.org/activerecord/documentation/trunk/usersguide/typehierarchy.html
Оттуда частично скопирован следующий код.
[ActiveRecord("entity"), JoinedBase]
public class Entity : ActiveRecordBase
{
...
private int id;
[PrimaryKey]
private int Id
{
get { return id; }
set { id = value; }
}
}
[ActiveRecord("entitycompany")]
public class CompanyEntity : Entity
{
private int comp_id;
[JoinedKey("comp_id")]
public int CompId
{
get { return comp_id; }
set { comp_id = value; }
}
....
}
Теперь, когда у меня естьCompanyEntity загружен и имеет доступ к свойству ComId, оно всегда равно 0, но унаследованное свойство Id содержит правильное значение.
Edit:
Я, вероятно, должен добавить, что наши сущностиавтоматически генерируются и я не хочу трогать генератор.
Edit2:
Хорошо, я понимаю, что мне нужно прикоснуться к генератору, чтобы он заработал.Но все же, почему Active Record не устанавливает Comp_id?
Вопрос:
Как я могу сказать ActiveRecord также установить значение JoinedKey в дочернем классе, чтобыэтот CompId == Id?