11

完全一致なしで LINQ to SQL 結合を実行するにはどうすればよいですか? たとえばform、データを含むテーブルがあり、それをtableJohn Smith (2)のフィールドに結合したいとします。このようなものSmithname

var query =
    from f in db.form
    join n in db.name
        on f.nameField like '%' + n.firstName + '%'

likeキーワードは私には利用できないようですが。

4

2 に答える 2

13

likeLinq 結合では使用できません。like実際、 Linq ではまったく使用できずStartsWith、 、EndsWith、またはなどの従来の文字列メソッドのみを使用できますContains

次のようにする必要があります。

var query =
    from f in db.form
    from n in db.name.Where(x => f.nameField.Contains(x.firstName))
    ...
于 2013-07-02T16:44:56.167 に答える
5

実際、それを行う方法はありますが、標準の linq のものを使用するほどきれいではありません。

from c in dc.Organization
where SqlMethods.Like(c.Hierarchy, "%/12/%")
select *;

(リンクされた質問のユーザーLPの回答から借用)

于 2013-07-02T16:51:50.360 に答える