gpt4 book ai didi

c# - 如何使用 Linq 从 C# ASP.NET MVC 4 中的 IQueryable 中查找一个值?

转载 作者:太空狗 更新时间:2023-10-30 00:52:44 24 4
gpt4 key购买 nike

这是在使用 EF 的 C# ASP.NET MVC 4 中。我有一张 table Users其中有 Portfolio对象定义为其属性之一,Username作为另一个。 User.Identity.Name在 Razor 中,一旦用户登录,我就可以将用户名传递给我的 Controller 。User有一个 Portfolio_IdPortfolio 的表格中目的。我想要做的是获得 Portfolio_IdUser当我只需要去买Username .在下面的代码中,您会看到我有一个 var protfolioId .我的问题是它被设置为 IQueryable<int>当我需要它时,从我的 LINQ 中获取它。我可能是错的,但这是否意味着它是一个集合而不是一个单一的值?我怎样才能得到 Portfolio_Id对于 User谁的Username匹配我传递给 Action 的内容吗?

public ActionResult Index([Bind(Prefix="id")]string userName)
{
//find the user
var user = _db.Users
.Where(u => u.UserName == userName)
.Select(u => new User
{
Id = u.Id,
UserName = u.UserName,
FirstName = u.FirstName,
LastName = u.LastName,
Email = u.Email,
Portfolio = u.Portfolio
});
//find the users portfolio id
var portfolioId = user.Select(u => u.Portfolio.Id);

//find their portfolio
var portfolio = _db.Portfolios.Find(portfolioId);
if(portfolio == null)
{
return HttpNotFound();
}//end of if
return View(portfolio);
}//end of Index

最佳答案

var portfolio = _db.Users
.Where(u => u.UserName == userName)
.Select(u =>u.Portfolio)
.FirstOrDefault();
if(portfolio == null)
{
return HttpNotFound();
}//end of if
return View(portfolio);

关于c# - 如何使用 Linq 从 C# ASP.NET MVC 4 中的 IQueryable 中查找一个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20176819/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com