在Linq中选择不同的列名称

use*_*627 1 c# linq

我的表包含几列,我需要使用Linq在两个特定列中选择不同的行.

我的SQL等价物是:

Select distinct Level1Id, Level1Name
from levels
Run Code Online (Sandbox Code Playgroud)

我现在做的是:

db.levels.GroupBy(c=> c.Level1Id).Select(s => s.First())
Run Code Online (Sandbox Code Playgroud)

这将检索不仅Level1Id和Level1Name的整行.如何在此linq查询中指定要检索的列?

jle*_*jle 6

使用Select,您可以指定匿名对象中的列,然后对其使用Distinct:

  db.levels.Select(l => new{ l.Level1Id, l.Level1Name }).Distinct();
Run Code Online (Sandbox Code Playgroud)