如何设置动态凡在LINQ查询条款与C#
问题描述:
我有这样的代码: -如何设置动态凡在LINQ查询条款与C#
DataSet ds = new DataSet();
String s = "StudentID = 5 Or StudentID=6";
var result = from r in ds.table[0].AsEnumerable() where s.ToString() select r;
如何从这个获取数据?
答
试试这个
var result = ds.Tables[0].AsEnumerable().Where(row => row["StudentID"].ToString() == "5" || row["StudentID"].ToString() == "6")
或
var result = from r in dx.AsEnumerable()
where r["StudentID"].ToString() == "5" || r["StudentID"].ToString() == "6"
select r;
你可以试试这个
DataTable dt = result.CopyToDataTable(); //for both code above
+0
谢谢大家但是我想将我自己选择的查询发送给Linq,他会将表格数据返回给我。 ??? –
+0
@ anuj.rohila94查看我的更新 – codingbiz
答
为什么你不能使用的ID列表?
//assuming you have text and that's the reason
var txtIDs = "5,6";
var IDs = txtIDs.Split(',').Select(s => int.Parse(s));
var rows = from r in ds.Tables[0].AsEnumerable()
where IDs.Any(id => r.Field<int>("ID")==id)
select r;
或方法的语法:
var rows = ds.Tables[0].AsEnumerable()
.Where(r => IDs.Contains(r.Field<int>("ID")));
如果您需要LINQ而这仅仅是一个例子,那么你应该使用动态LINQ。 –
通常情况下,您可以使用许多小静态子句的组合来完成此任务。为什么你需要使用动态where子句? – Enigmativity