Необходимо в файле меппинга задать свойство значение поля из другой таблицы
NHibernate: получение свойства сущности из другой таблицы (one-to-one)
1
Спросил
Лучший ответ:
1
Можно использовать в меппинге конструкцию:
<join table="second_table">
<key column="ref_first_table_id"/>
<property name="PropertyName" column="second_id" update="false"/>
</join>
Параметр update="false"
используется для того, чтобы при изменениях сущности таблица меппинга не апдейтилась.
Новые ответы
Новые
Лучшие
0
Можно сделать с FluentNhibernate. Вот примеры классов:
public class User
{
public virtual int Id { get; set; }
public virtual string Name { get; set; }
public virtual UserDetails Details { get; set; }
}
public class UserDetails
{
public virtual int Id { get; set; }
public virtual User User { get; set; }
public virtual string Address { get; set; }
}
И маппинги для них:
public class UserMap : ClassMap<User>
{
public UserMap()
{
Id(x => x.Id).GeneratedBy.Native("SEQ_USER");
Map(x => x.Name);
HasOne(x => x.Details)
.Cascade.All()
.ForeignKey("UserDetails");
}
}
public class UserDetailsMap : ClassMap<UserDetails>
{
public UserDetailsMap()
{
Id(x => x.Id).GeneratedBy.Foreign("User");
Map(x => x.Address);
HasOne(x => x.User).Constrained();
}
}
В NHibernate нет тега
Ну в версии 2.1.0 точно есть.