无法从查询构造实体(复杂)对象

时间:2010-06-08 21:15:35

标签: c# asp.net sql-server entity-framework

嘿,我是实体,sql,c#和asp.net的新手,所以这可能很容易修复。

我试图在数据网格中显示存储在我的表格中的所有非活动产品。

var productQuery = from b in solutionContext.Version
                   where b.Product.Name == search && b.Product.ActiveNumber > b.VersionNumber
                   select new Product
                   {
                                   Name = b.Product.Name,
                                   Description = b.Product.Description,
                                   ID = b.ID,
                                   LastNumber = b.Product.LastNumber,
                                   MiddleNumber = b.Product.MiddleNumber,
                                   RSTATE = b.RSTATE,
                                   ActiveNumber = b.Product.ActiveNumber,
                                   LastModified = b.Product.LastModified,
                                   ParentID = b.Product.ParentID,
                                   ProductType = b.Product.ProductType
                  };

                  ProductsGrid.DataSource = productQuery;
                  ProductsGrid.DataBind();

我收到此错误:

  • $ exception {“无法在LINQ to Entities查询中构造实体或复杂类型'SolutionsModel.Product'。”} System.Exception {System.NotSupportedException}

感谢您的任何建议!

1 个答案:

答案 0 :(得分:3)

该错误表示您无法生成Product类型的LINQ to Entities对象。但你可以退货。你能尝试返回可能正常工作的b.Product吗?

var productQuery = from b in solutionContext.Version
                   where b.Product.Name == search && b.Product.ActiveNumber > b.VersionNumber
                   select b.Product; 

                  ProductsGrid.DataSource = productQuery;
                  ProductsGrid.DataBind();