如何将以下 SQL 查询转换为 C# 中的 LINQ?
我不需要两个表中的所有列,结果集应该是
IEnumerable<DataRow>
Query:
select
c.level, cl.name, c.quantity
from
dbo.vw_categories c
left join
dbo.vw_categoriesLocalization cl on c.level = cl.level
and cl.language = 'en'
where
c.level like '000%'
and c.level <> '000';
预期的:
IEnumerable<DataRow> result = ????
提前致谢..
以下是编写查询的方法:
var query =
from c in db.vw_categories
join cl in db.vw_categoriesLocalization on c.level equals cl.level into clo
from cl in clo.DefaultIfEmpty()
where (cl == null || cl.language == "en")
&& c.level.StartsWith("000")
&& c.level != "000"
select new
{
c.level,
name = cl == null ? null : cl.name,
c.quantity
}
要将其转换为IEnumerable<DataRow>
也许你可以这样做:
var datarows = query.Select(r => {
var row = dataTable.NewRow();
row["level"] = r.level;
row["name"] = r.name;
row["quantity"] = r.quantity;
return row;
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)