我是LINQ的新手,(遗憾的是)我需要将一些混乱的sql命令转换为LINQ。我的数据库中有两个简单的表。第一个表包含名称(列"Name"one_answers"NameID"),另一个表包含昵称(列"Nick"、"NickID"one_answers"FK_NameID")。每个昵称都有ID和指向真名的外键(name ID)。
使用C#,此代码用于检索其中包含"SomeString"的任何昵称:
comm = new SqlCommand("SELECT Name FROM Names INNER JOIN Nicks ON NameID = FK_NameID AND Nick LIKE '%" + SomeString + "%'", Connection);
就我在谷歌上搜索后所看到的,SQL命令中的"Like"one_answers"Join"可能会产生复杂的Linq:\你能帮我一下,告诉我什么Linq表达式与我目前使用的SQL命令相等吗?是否有绕过Linq而使用DataSet、DataTables的方法?我完全是Linq noob:\
实际上非常相似:
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
(在我看来)。