C# 检索单列的值
使用下面的控制器,我可以得到所有数据库的用户表,但如果我只想得到用户的“电子邮件”列,我应该如何写这个控制器C# 检索单列的值,c#,asp.net-mvc,entity-framework,C#,Asp.net Mvc,Entity Framework,使用下面的控制器,我可以得到所有数据库的用户表,但如果我只想得到用户的“电子邮件”列,我应该如何写这个控制器 public ActionResult Index() { var users = db.Users.Where(d => d.Subscriptions.Any(x => x.Status == true)); return View(users.ToList()); } 您可以。仅选择所需的列: public ActionResult Index() {
public ActionResult Index()
{
var users = db.Users.Where(d => d.Subscriptions.Any(x => x.Status == true));
return View(users.ToList());
}
您可以
。仅选择所需的列:
public ActionResult Index()
{
var users = db.Users
.Where(d => d.Subscriptions.Any(x => x.Status == true))
.Select(u => u.Email);
return View(users);
}
请注意,在这种情况下,您将返回一个IEnumerable
(我假设Email
属性为string)
如果要返回更复杂的内容,应使用所需的属性创建一个新对象,如:
public class UserWithEmail
{
public int UserId { get; set; }
public string Email { get; set; }
}
然后:
public ActionResult Index()
{
var users = db.Users
.Where(d => d.Subscriptions.Any(x => x.Status == true))
.Select(u => new UserWithEmail() { UserId = u.UserId, Email = u.Email };
return View(users);
}
非常感谢,一个快速的问题,你知道如何直接返回视图而不传递给视图吗?我想打印变量的值或数组测试目的,这就是原因。我不明白你的问题,我建议你为此问一个新问题:-)