我想知道是否有人可以帮助我将 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;
(在现实生活中我实际上必须匹配两列才能成为键)
结果将是
id number name
1 10 firstName
2 20 secondName
3 25 cccc
4 30 ThirdName
5 35 eee
但是如何在 c# 中使用 DBLinq 和 List 更新 table1?