Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 从db中选择单个值_Sql Server_Asp.net Mvc_Entity Framework - Fatal编程技术网

Sql server 从db中选择单个值

Sql 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

我需要从数据库中选择一个值

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 = 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,我听说了急着加载的消息,好像我不是一次选择整个表,而是一次选择必要的行。。就像它减少了使用内存和流量。这是真的吗?我可以在我的代码中这样做吗?我在哪里可以详细了解它?