Hy Guys。使用對象的ViewModel QueryException
我有兩個實體:「交互」和「訂單」,它有很多「交互」。
在視圖上,我想爲未讀取交互的訂單創建不同的類(如<tr [email protected]>
)。所以我創建了一個ViewModel。
我的視圖模型:
public class OrderViewModel
{
public Order Order{get;set;}
public bool isRead{get;set;}
}
我控制器(我與倉庫工作):
var orders = orderRepo.All();
var viewModel = orders.Select(order=> new orderViewModel
{
Order = order, '<------------'
isRead = order.Interactions.Any(x => x.Read == true),
});
return View(viewModel);
如果我拿出Order = order,
它工作正常。但有了這個代碼,我得到這個錯誤:
QueryException was unhandled by user code. Could not instantiate: Models.OrderViewModel
InnerException: When casting from a number, the value must be a number less than infinity InnerException: Make sure the source type is convertible to the destination type.
如果,而不是用我用自己的屬性的對象,它工作正常:
ViewModel:
public int IdPedido { get; set; }
public string CategoryOrder { get; set; }
public string ModuleOrder { get; set; }
Controller:
var viewModel = orders.Select(order => new OrderViewModel{
CategoryOrder=Order.Category,
ModuleOrder=Order.Module,
...});
我缺少什麼?我不理解什麼是可轉換的。或者不可以在ViewModel上使用對象,只有屬性?
如果這是一個可用的信息,我使用Nhibernate ORM。
Tks guys!
編輯
基於@elspiko問題,我意識到,訂單和訂單沒有相同的類型。所以我設置了命令:IEnumerable<Order> orders = pedido.Repo.All();
現在它正在工作。
我認爲它會在編輯之前工作。爲什麼它被認爲是不同的類型?
+1,因爲'IsReaded' – smartcaveman 2011-03-31 15:02:29