使用默认值的 Linq 查询。如果在 DB 表中未找到此值,则应采用对象的默认值,稍后将向此表添加新行。
它应该是这样的,但这不起作用:
var name_country = (from m in ctx.person
where (m.name == oPerson.name || m.country == oPerson.country)
select new
{
m.name, m.country
}
).DefaultIfEmpty
(
oPerson.name,
oPerson.country
).FirstOrDefault();
如何在 DefaultIfEmpty 中设置此默认值???
新编辑:这是我想作为一个查询进行的:
string name = (from m in ctx.person
where (m.name == oPerson.name || m.country == oPerson.country)
select
m.name
).DefaultIfEmpty
(
oPerson.name,
).FirstOrDefault();
string country = (from m in ctx.person
where (m.name == oPerson.name || m.country == oPerson.country)
select
m.country
).DefaultIfEmpty
(
oPerson.country
).FirstOrDefault();