C# asp.net从查询中获取数据

C# asp.net从查询中获取数据,c#,mysql,asp.net,visual-studio-2017,C#,Mysql,Asp.net,Visual Studio 2017,我有一个简单的asp.net数据库程序。我有一个名为ChristmasTickets的数据库,其中包含以下数据: ID,条形码编号,姓名,电子邮件,等等 如果有人搜索ID,我可以做一个简单的查找,因为它是关键标识符 ChristmasTickets ChristmasTickets = db.ChristmasTicketsDb.Find(id); 但在我的HTML中,我试图允许用户通过BarcodeNum而不是ID进行搜索。如果找到了BarcodeNumber,我将尝试提取ID号 到目前为止

我有一个简单的asp.net数据库程序。我有一个名为ChristmasTickets的数据库,其中包含以下数据: ID条形码编号姓名电子邮件,等等

如果有人搜索ID,我可以做一个简单的查找,因为它是关键标识符

ChristmasTickets ChristmasTickets = db.ChristmasTicketsDb.Find(id);
但在我的HTML中,我试图允许用户通过BarcodeNum而不是ID进行搜索。如果找到了BarcodeNumber,我将尝试提取ID号

到目前为止,我有这个代码,这确实给了我一些帮助

[HttpPost]
public ActionResult Search(SearchBarcode model, int BarcodeNum)
{         
var FoundRecord = db.ChristmasTicketsDb.Where(x => x.BarcodeNum == BarcodeNum);     

//get the ID from quote which does not work....


**int id = //get the id from FoundRecord.**
Trace.WriteLine("GET /ChristmasTickets/Edit/" + id);
if (id == null)
{
    return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
ChristmasTickets ChristmasTickets = db.ChristmasTicketsDb.Find(id);
if (ChristmasTickets == null)
{
    return HttpNotFound();
}
    return View(ChristmasTickets);
}
有人能告诉我如何从FoundRecord中提取身份证号码的正确方向吗


谢谢

您可以这样做:

[HttpPost]
public ActionResult Search(SearchBarcode model, int BarcodeNum)
{         
    var FoundRecord = db.ChristmasTicketsDb.SingleOrDefault(x => x.BarcodeNum == BarcodeNum);         

    if (FoundRecord == null)
    {
        return HttpNotFound();
    }
    return View(FoundRecord);
}

db.ChristmasTicketsDb.Where(x=>x.BarcodeNum==BarcodeNum)
将为您提供
IQueryable
ChristmasTickets

据推测,其中有一个或没有

要获取正在搜索的实际元素,可以使用Linq
FirstOrDefault()
(或
SingleOrDefault
)而不是
Where

var christmasTicket = db.ChristmasTicketsDb.FirstOrDefault(x => x.BarcodeNum == BarcodeNum);

if (christmasTicket != null) 
{
    // found ! 
    // here you can take the id from christmasTicket

}

var FoundRecord
的实际类型是
IQuarable
。这意味着它是一个项目的集合。如果您只需要一个,您可以使用以下命令:
ChristmasTickets ChristmasTickets=db.ChristmasTicketsDb.FirstOrDefault(x=>x.BarcodeNum==BarcodeNum)
谢谢!工作完美。