使用 Lambda 表达式从模型中获取值
本文关键字:获取 模型 Lambda 表达式 使用 | 更新日期: 2023-09-27 18:33:17
尽管进行了大量搜索,但我无法从数据库中获取所需的信息,从而无法获得正确的 Lambda 表达式。我的问题是这样的:
控制器中的 Action 方法获取 id 值作为 in 参数。使用 id,我想在产品类中获取与 id 与产品类别 ID 匹配的名称。我已经开始了,但我不知道如何完成它。我可以得到一些帮助吗?我想我在这里做错了?
ViewBag.Categori = db.Products.Where(x => x.Name.Equals(??))
获取与特定id
匹配的产品名称,请编写以下LINQ
查询
db.Products.Where(x => x.Id == desiredId)
.Select(x => x.Name)
.SingleOrDefault()
如果我理解正确,则无需按name
属性进行过滤,而是按id
属性进行过滤。
像这样:
var product = db.Products.Where(x => x.CategoriesID == id).FirstOrDefault();
if(product != null)
{
ViewBag.Categori = product.Name;
}
如果没有具有指定 ID 的产品,则FirstOrDefault
将仅返回第一个匹配项或 null。
当你返回一个结果时,你可以使用FirstOrDefault。
ViewBag.Categori = db.Products.FirstOrDefault(x => x.Id == id).Name
在上面的代码中,我假设您的产品有一个键字段 Id,传入的参数名称是 id。
ViewBag.Categori = db.Products.Where(x => x.CategoriesID == id).FirstOrDefault().Name;
试试这个
ViewBag.Categori = DB.Context.Products.Where(w => w.ProductTypeId == id).Select(s => new
{
Name = s.ProductName
}).FirstOrDefault();