デフォルト値を使用した 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 でこのデフォルト値を設定する方法???
新しい編集:これは私が1つのクエリとして作りたいものです:
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();