为什么我的linq to sql查询失败?

时间:2014-11-12 01:45:18

标签: c# linq-to-sql

我是.Net(和stackoverflow)的新手,所以我遇到了一些问题。一个棘手的问题是下面的linq查询。有关代码的一些信息。 CustomerCart是我项目中的一个单独的Model类,其中products成员是产品列表。如果我从选择的新CustomerCart部分中删除产品,它运行正常并且数据存在。所以我认为这是我的语法。我不能在赋值构造函数中放置一个linq语句吗?任何帮助都会很有意义。提前谢谢。

var k = from s in store.Customers
        join p in store.ShoppingCarts on s.custId equals p.customerId
        select new CustomerCart()
        {
            FirstName = s.firstName,
            LastName = s.lastName,
            products = (from j in store.Products
                        where p.productId == j.productId
                        select j).ToList(),
            CartID = p.cartId,
            CustomerID = s.custId,
         };

**编辑 我收到的错误:传入字典的模型项的类型是' System.Data.Objects.ObjectQuery`1 [productShop.Models.CustomerCart]',但是这个字典需要一个类型&#的模型项39; productShop.Models.CustomerCart'

很抱歉没有在我的问题中放置错误消息。

1 个答案:

答案 0 :(得分:0)

请尝试此查询:

var k =
    from s in store.Customers
    join p in store.ShoppingCarts on s.custId equals p.customerId
    join j in store.Products on p.productId equals j.productId into products
    select new CustomerCart()
    {
        FirstName = s.firstName,
        LastName = s.lastName,
        products,
        CartID = p.cartId,
        CustomerID = s.custId,
     };