I am using FluentNHibernate with AutoMapping and conventions to create my database. I have 3 tables - Person, Address and Job as shown below.
//Database table
public class Person()
{
public virtual int Id { get; set; }
public virtual string FirestName { get; set; }
public virtual string SecondName { get; set; }
public virtual PersonAddress Address { get; set; }
public virtual PersonJob Job { get; set; }
}
//Database table
public class PersonAddress()
{
public virtual int Id { get; set; }
public virtual string AddressLine1 { get; set; }
public virtual string AddressLine2 { get; set; }
public virtual string AddressLine3 { get; set; }
}
//Database table
public class PersonJob()
{
public virtual int Id { get; set; }
public virtual int Description { get; set; }
}
I want to display a list of Person details in a Grid using a flattened view model below. Do I have to create a Mapping for ViewModelPerson even though its not a database table (will Automapping affect this) or should I do this using a nHibernate query to create get the list of ViewModelPerson entities.
//NOT database table - only used as ViewModel
public class ViewModelPerson()
{
public virtual int PersonId { get; set; }
public virtual string FirestName { get; set; }
public virtual string SecondName { get; set; }
//AddressLine1 + AddressLine2 + AddressLine3
public virtual int AddressId { get; set; }
public virtual string Address { get; set; }
public virtual int JobId { get; set; }
public virtual string Job { get; set; }
}