0

私はLINQを初めて使用しますが、(悲しいことに)混乱したSQLコマンドをLinqに変換する必要があります。私のデータベースには2つの単純なテーブルがあります。最初のテーブルは名前(列"Name"および"NameID")を保持し、他のテーブルはニックネーム(cols "Nick"、 "NickID"、 "FK_NameID")を保持します。各ニックネームには、本名(名前ID)を指すIDと外部キーがあります。

C#を使用して、このコードを使用して、「SomeString」を含むニックネームを取得しました。

comm = new SqlCommand("SELECT Name FROM Names INNER JOIN Nicks ON NameID = FK_NameID AND Nick LIKE '%" + SomeString + "%'", Connection);

グーグルの後で見た限りでは、SQLコマンドの「Like」と「Join」は複雑なLinqを生成する可能性があります:\私を助けて、これまで使用していたSQLコマンドとどのLINQ式が等しいか教えてください。Linqをバイパスして、代わりにDataSet、DataTablesを使用する方法はありますか?私は完全なLinq-noobです:\

4

1 に答える 1

2

実際にはかなり似ています:

var query = from name in names
            join nick in nicks on name.NameId equals nick.FK_NameId
            where nick.Nick.Contains(SomeString)
            select name.Name;

あなたはあなたの列名について考える必要があります- (私の意見では)FK_NameIdとしてより良いでしょう。NameId

于 2012-02-19T01:46:08.157 に答える