Sql server 从db中选择单个值
我需要从数据库中选择一个值 MyController.csSql server 从db中选择单个值,sql-server,asp.net-mvc,entity-framework,Sql Server,Asp.net Mvc,Entity Framework,我需要从数据库中选择一个值 MyController.cs using (var db = new MainDbContext()) { var getPhoto = db.Users.Where(u => u.Name == User.Identity.Name).Select(u => u.Photo); var materializePhoto = getPhoto.ToList(); var photo = ma
using (var db = new MainDbContext())
{
var getPhoto = db.Users.Where(u => u.Name == User.Identity.Name).Select(u => u.Photo);
var materializePhoto = getPhoto.ToList();
var photo = materializePhoto[0];
}
我这样做是为了正确地将我的值从IQueryable转换为String
我读过关于使用“FirstOrDefault”、“First”、“Default”选择选项(因为它们返回的是字符串值,而不是IQuerable),但我认为它不适合我的情况
问题是:如何使代码更简单、更短?
备注:db.Users.Photo包含url。您需要向代码中添加
first或default
var getPhoto = db.Users.Where(u => u.Name == User.Identity.Name).Select(u => u.Photo).FirstOrDefault();
是的,它会起作用。您需要在代码中添加
FirstOrDefault
var getPhoto = db.Users.Where(u => u.Name == User.Identity.Name).Select(u => u.Photo).FirstOrDefault();
是的,它会起作用。你也可以这样做
var photo = db.Users.Where(u => u.Name == User.Identity.Name).FirstOrDefault().Photo;
它还将返回第一个照片值,您也可以这样做
var photo = db.Users.Where(u => u.Name == User.Identity.Name).FirstOrDefault().Photo;
它还将返回第一个照片值。请使用FirstOrDefault()从数据库中选择单个记录。请使用FirstOrDefault()从数据库中选择单个记录。
var photo=db.Users.Where(u=>u.Name==User.Identity.Name)。选择(u=>u.photo.FirstOrDefault()代码>或者您可以编写更短的代码:var photo=db.Users.FirstOrDefault(u=>u.Name==User.Identity.Name)。选择(u=>u.photo)
@marc_s,我听说了急着加载的消息,好像我不是一次选择整个表,而是一次选择必要的行。。就像它减少了使用内存和流量。这是真的吗?我可以在我的代码中这样做吗?我在哪里可以详细阅读它?var photo=db.Users.Where(u=>u.Name==User.Identity.Name)。选择(u=>u.photo.FirstOrDefault()代码>或者您可以编写更短的代码:var photo=db.Users.FirstOrDefault(u=>u.Name==User.Identity.Name)。选择(u=>u.photo)
@marc_s,我听说了急着加载的消息,好像我不是一次选择整个表,而是一次选择必要的行。。就像它减少了使用内存和流量。这是真的吗?我可以在我的代码中这样做吗?我在哪里可以详细了解它?