2012-03-23 97 views
2

要通过其他对象即时创建和分配类,我通常使用LINQ。可以在Linq-to-Objects中创建新的类型类吗?

假设我有一个IQueryable<ProductForCart>对象从我的数据库取出,对于某些原因,我需要创建一个IQuaryable<Product>其中每个Product属性是从ProductForCart提取。

我简单地做:

IQueryable<ProductForCart> productsForCart = ProductRepository.GetProductsForCart(); 

IQueryable<Product> products = productsForCart.Select(sc => new Product 
               { 
               ProdId = sc.ProdId, 
               ProdName = sc.ProdName, 
               //other properties 
               } 

这工作顺利。但是,如果我有IList<ProductForCart>和​​它会引发运行时异常:

此函数只能从LINQ调用到实体。

我不知道LinqToObjects不支持这种分配。或者我错过了什么?

+1

你在_ //其他属性_使用SqlFunctions来代替那些功能? – 2012-03-23 17:12:37

+0

是的,因为它使用ToString()启动另一个异常 – CiccioMiami 2012-03-23 17:45:39

回答

相关问题