使用Linq Let子句避免“无参数查询错误”

时间:2013-04-17 12:56:48

标签: linq

我希望我的Linq查询能够动态地在结果中创建一个额外的列。在这种情况下,列是我创建的Class对象,它将包含图像信息。我想知道这样做的正确方法是什么:

var validPics = (from x in db.picsVotesTagsJs let picObj = new CarShowImages(x.picname) where x.enabled == 1 select x).Take(25);
var myArray = validPicSummaries.ToArray();

第2行产生错误:

LINQ to Entities中仅支持无参数构造函数和初始值设定项。

这是我第一次使用Let子句。我的查询通常非常简单。

1 个答案:

答案 0 :(得分:1)

创建无参数构造函数并使用一些公共属性(例如PicName)将图片名称设置为CarShowImages对象:

var validPics = (from x in db.picsVotesTagsJs
                 where x.enabled == 1
                 select new CarShowImages { PicName = x.picname }).Take(25);
var myArray = validPics.ToArray();