【发布时间】:2010-03-08 13:47:13
【问题描述】:
我在 Linq 语句中收到此错误 ---
无法将类型“System.Collections.Generic.IEnumerable”隐式转换为“hcgames.ObjectClasses.ShoppingCart.ShoppingCartCartAddon”。存在显式转换(您是否缺少演员表?)
来自这个查询
ShoppingCartItems items = Cart.GetAllItems();
ShoppingCartCartAddons addons = Cart.GetAllAddons();
var stuff = from x in items
select new ShoppingCartItem()
{
ProductID = x.ProductID,
Quantity = x.Quantity,
Name = x.Name,
Price = x.Price,
Weight = x.Weight,
Addons = (from y in addons
where y.ShoppingCartItemID == x.ID
select y)
};
我不知道如何正确投射。有什么建议吗?
感谢您的帮助!
【问题讨论】:
-
你能发
ShoppingCartCartAddons和ShoppingCartItems.Addons签名吗? -
命名空间 hcgames.ObjectClasses.ShoppingCart { [Serializable] public class ShoppingCartItem { public ShoppingCartItem();公共 ShoppingCartItem(DataRow 博士);公共 ShoppingCartCartAddons 插件 { get;放; } 公共字符串 CartID { 获取;放; } 公共 int ID { 获取;放; } 公共字符串图像 { 获取;放; } 公共字符串名称 { 获取;放; } 公共字符串价格 { 获取;放; } 公共长产品 ID { 获取;放; } 公共 int 数量 { 获取;放; } 公共十进制重量 { 得到;放; } } }
-
使用系统;使用 System.Collections.ObjectModel;命名空间 hcgames.ObjectClasses.ShoppingCart { [Serializable] 公共类 ShoppingCartCartAddons : Collection
{ public ShoppingCartCartAddons(); } } -
命名空间 hcgames.ObjectClasses.ShoppingCart { [Serializable] 公共类 ShoppingCartCartAddon { public ShoppingCartCartAddon();公共 ShoppingCartCartAddon(DataRow dr);公共字符串 LabelText { 获取;放; } 公共字符串名称 { 获取;放; } 公共小数价格 { 获取;放; } 公共 int ProductAddonID { 获取;放; } 公共十进制数量 { 得到;放; } public long ShoppingCartAddonID { get;放; } public long ShoppingCartItemID { get;放; } 公共十进制重量 { 得到;放; } } }
-
好吧,编辑了我的答案,为了将来参考,您可以编辑您的问题以添加更多细节(和闪亮的格式化代码),而不是在 cmets 中进行:)