У меня есть две разные модели, скажем:
//ModelA
public class ModelA {
public virtual int Id {get; set;}
public virtual string Name {get; set;}
public virtual string Prename {get; set;}
public virtual int PostalCode {get; set;}
}
и
//ModelB
public class ModelB {
public virtual int Id {get; set;}
public virtual string Name {get; set;}
public virtual string Prename {get; set;}
public virtual string Street {get; set;}
}
Теперь моя цель - объединить ModelA
и ModelB
во время выполнения в ModelC
, который должен выглядеть следующим образом:
//ModelC
public class ModelC {
public virtual int Id {get; set;}
public virtual string Name {get; set;}
public virtual string Prename {get; set;}
public virtual int PostalCode {get; set;}
public virtual string Street {get; set;}
}
Обратите внимание, что Id
, Name
и Prename
происходят только один раз, и PostalCode
и Street
также добавляются в новую модель.
ModelC
следует затем использовать для запроса NHibernate, который должен выглядеть следующим образом:
var myQueryItems = sessionService.GetDefaultSession()
.Query<ModelC>()
.ToList();
Как мне этого добиться? Есть идеи? Могу ли я предоставить лучшую информацию? Заранее спасибо:)
EDIT:
Вот мое отображение моделей:
public class ModelAMapping : ClassMapping<ModelA>
{
public ModelAMapping()
{
Id(a => a.Id, b => b.Generator(Generators.Identity));
Property(a => a.Name, b =>
{
b.NotNullable(true);
});
Property(a => a.Prename, b =>
{
b.NotNullable(true);
});
Property(a => a.PostalCode, b =>
{
b.NotNullable(true);
});
}
}
Это то же самое, что и для ModelB.