C# LINQ上的查询字符串
我正在尝试做下一件事:我有关于c的下一个代码: 例如,我有一个页面:C# LINQ上的查询字符串,c#,.net,asp.net,linq,query-string,C#,.net,Asp.net,Linq,Query String,我正在尝试做下一件事:我有关于c的下一个代码: 例如,我有一个页面:items.aspx?nID=144 我如何构造一个linq查询,它将接受querystring参数并通过地址上显示的id(nID)检查items表中的值 该表具有以下设计,例如:id、title、bla、main通过Lambda表达式: int nID; string qs = QueryString["nID"]; if (Int32.TryParse(qs, nID) myDataContext.purchases
items.aspx?nID=144
我如何构造一个linq查询,它将接受querystring参数并通过地址上显示的id(nID)
检查items
表中的值
该表具有以下设计,例如:
id、title、bla、main
通过Lambda表达式:
int nID;
string qs = QueryString["nID"];
if (Int32.TryParse(qs, nID)
myDataContext.purchases.Where(p => p.id == nID);
// Other options if nID is a primary key
//myDataContext.purchases.FirstOrDefault(p => p.id == nID);
//myDataContext.purchases.SingleOrDefault(p => p.id == nID);
通过LINQ查询:
int nID;
string qs = QueryString["nID"];
if (Int32.TryParse(qs, nID)
var purchase = from p in myDataContext.purchases
where p.id == nID
select p;
如果我理解正确,您只是试图从
QueryString
获取nID
参数,然后在某个linq查询中重用其值以从数据库获取数据。您可以使用以下代码(在ASPX页面内)实现此功能:
不过,我不会将UI/ASP.NET逻辑(如获取nID)与查询本身混合,我会在另一个与业务相关的类中进行查询。@Davide Piras,我解决了一个问题—如何进行查询。我认为@Bside可以轻松升级代码。更新了答案谢谢。关于我在问题上发布的代码,我还有另一个问题:b.Text=myDataContext.purchases.Count().ToString()。。。。。。。我在这里该怎么做:where main=true?我认为你应该为第二个问题创建一个单独的帖子。这将更容易找到它,更多的人可以给你他们的意见。
int nID;
string qs = QueryString["nID"];
if (Int32.TryParse(qs, nID)
var purchase = from p in myDataContext.purchases
where p.id == nID
select p;
int nID;
string value = Request.QueryString["nID"];
if(int.TryParse(value, out nID))
{
// your linq query
}