【发布时间】:2012-05-29 06:42:14
【问题描述】:
假设我有一个包含一些字段的实体和一个这样的集合
Entity
int Id {get; set;}
string Name {get; set;}
string Title {get; set;}
List<Order>Orders {get; set;}
Order
int Id {get; set;}
string Name {get; set;}
Entity Entity {get; set;}
现在我想创建 EntityOrderViewModel,它只代表两个实体的几个属性。像这样
EntityOrderViewModel
int Id {get; set;}
string EntityName {get; set;}
string EntityTitle {get; set;}
string OrderName {get; set;}
int OrderId {get; set;}
EntityOrderViewModel(Entity x)
{
Id = 1;
EntityName = x.Name;
EntityTitle = x.Title;
foreach(Order order in x.Orders)
{
OrderName = order.Name;
}
}
public static List<EntityOrderViewModel> FromMyDomain(IList<Entity> x)
{
List<EntityOrderViewModel> vm= new List<EntityOrderViewModel>();
foreach (Entity e in x)
{
vm.Add(new EntityOrderViewModel(e));
}
return vm;
}
现在我想从我的控制器中调用所有这样的实体
//opensession
// open transaction
List<Entity> data = session.Query<Entity>().ToList();
//end transaction
transaction.commit();
//end session
return EntityOrderViewModel.FromMyDomain(data);
【问题讨论】:
标签: c# asp.net-mvc-3 linq nhibernate viewmodel