LINQ上的查询字符串

本文关键字:字符串 查询 LINQ | 更新日期: 2023-09-27 18:01:01

我正在尝试做下一件事:我有c#上的下一个代码:

b.Text = myDataContext.purchases.Count().ToString();

我有一个页面,例如:items.aspx?nID=144

我如何构造一个linq查询,该查询将使用querystring参数并通过地址上显示的id (nID)检查items表中的值?

该表具有例如id, title, bla, main的设计。

LINQ上的查询字符串

通过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页面内(实现它:

int nID;
string value = Request.QueryString["nID"];
if(int.TryParse(value, out nID))
{
    // your linq query
}