2

私はクエリ メソッドの構文を好みますが、非常に難しく感じることがあります。SQL 言語では、1 つの列を簡単に選択して、別の列に where 句の条件を設定できます。

SELECT UserName FROM VendorsTagged WHERE ProfileID=@pid

LINQ Query Comprehension 構文では、これを次のように簡単に変換できます。

string[] names = (from v in _db.VendorsTagged
                  where v.ProfileID == pid
                  select v.UserName).ToArray();

LINQ クエリ メソッドの構文では、動作させることができません。以下のクエリに where 句を追加しようとすると、その列が select 句にも含まれている必要があるようですが、これは私が望む結果ではありません。何か案は?

string[] names = _db.VendorsTagged.Select(s => s.UserName).ToArray();
4

1 に答える 1

3
string[] names = _db.VendorsTagged
                    .Where(v => v.ProfileId == pid)
                    .Select(v => v.UserName).ToArray();

これは、クエリ内包構文の例と同等であり、同じように機能するはずです。

于 2013-05-30T18:40:02.620 に答える