我试图过滤下面的结果,仅显示基于在选择中返回的MacAddress字段的不同行。这在只返回单个值而不返回对象时有效。什么好主意吗?
// Get all records which have not been imported yet?
var query = (from s in db.Stagings
join t in db.Printers on s.MacAddress equals t.MacAddress into tj
from t in tj.DefaultIfEmpty()
where t == null
select new { s.MacAddress,s.PrinterName,s.HostName,s.IPAddress,s.ReportDate}).Distinct();
是否有可能在不做循环的情况下进一步过滤?
这样行吗?
var query = (from s in db.Stagings
join t in db.Printers on s.MacAddress equals t.MacAddress into tj
from t in tj.DefaultIfEmpty()
where t == null
select new { s.MacAddress,
s.PrinterName,
s.HostName,
s.IPAddress,
s.ReportDate
}
).GroupBy(s => s.MacAddress)
.Select(s => s.First());