从db

时间:2016-05-14 09:32:13

标签: 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 = materializePhoto[0];
    }

我这样做是为了将我的值从 IQueryable 正确转换为 String

我读过关于使用'FirstOrDefault','First','Default'选择选项(因为它们返回一个字符串值,而不是IQuerable),但我认为它不适合我的情况。

问题是:如何让我的代码更简单,更短?

P.S。: db.Users.Photo 包含网址。

3 个答案:

答案 0 :(得分:2)

您需要在代码中添加FirstOrDefault

var getPhoto = db.Users.Where(u => u.Name == User.Identity.Name).Select(u => u.Photo).FirstOrDefault();

是的,它会起作用。

答案 1 :(得分:2)

你也可以这样做

var photo = db.Users.Where(u => u.Name == User.Identity.Name).FirstOrDefault().Photo;

它还会返回第一个照片值

答案 2 :(得分:1)

请使用FirstOrDefault()从db中选择单个记录。

相关问题