Объединение атрибутов моделей в C # - PullRequest
0 голосов
/ 29 августа 2018

У меня есть две разные модели, скажем:

//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.

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