我需要从我的数据库中选择一个值。
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 包含网址。
答案 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中选择单个记录。