我可以重构我的linq选择吗?

时间:2012-08-19 07:33:41

标签: c# linq

我有以下内容:

        var data1 = contentRepository.GetPk(pk);
        var data2 = from d in data1
                    select new Content.RowKeyTitle {
                        RowKey = d.RowKey,
                        Title = d.Title,
                        Notes = d.Notes
                    };
        return (data2);

有没有办法将data1和data2合并为一个表达式?

2 个答案:

答案 0 :(得分:5)

直接使用GetPk方法?那么你根本不需要data1

var data = from d in contentRepository.GetPk(pk)
           select new Content.RowKeyTitle
           {
               RowKey = d.RowKey,
               Title = d.Title,
               Notes = d.Notes
           };
return data;

答案 1 :(得分:2)

使用lambda表达式而不是理解语法

return contentRepository.GetPk(pk).Select(d => new Content.RowKeyTitle {
                    RowKey = d.RowKey,
                    Title = d.Title,
                    Notes = d.Notes
                });