誰かが MySQL クエリを (Db)LINQ ステートメントに変換するのを手伝ってくれないだろうか。
やりたいことのテストケースを作ったので、データも構造も本当にやりたいこととは違いますが、あくまで動作させるためのものです。
MySQL データベースには、次のテーブルがあります。
CREATE TABLE `mytable1`
(
`id` int(11) NOT NULL AUTO_INCREMENT,
`number` int(11) NOT NULL,
`name` varchar(20) COLLATE latin1_general_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=6 DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci
これが内容です
id number name
1 10 aaa
2 20 bbb
3 25 cccc
4 30 ddd
5 35 eee
C# 内で DBLinq を使用して、このテーブルに接続します。C# プログラムには、次のようなリストもあります。
List<myDataFields> myNewData = new List<myDataFields>();
と
public class myDataFields
{
public int number { get; set; }
public string name { get; set; }
}
リストの内容は次のとおりです。
number name
10 firstName
20 secondName
30 ThirdName
リストの内容が mysql のテーブル (table2) である場合、次のクエリで table1 を更新できます。
update mytable1,mytable2 set mytable1.name=mytable2.name where
mytable1.number=mytable2.number;
(実際には、実際には2つの列をキーに一致させる必要があります)
結果は次のようになります。
id number name
1 10 firstName
2 20 secondName
3 25 cccc
4 30 ThirdName
5 35 eee
しかし、DBLinq と c# 内のリストを使用して、table1 を更新するにはどうすればよいでしょうか?