var result = (from u in ctx.Users
where u.UserId.Equals(id)
select new
{
FullName = u.LName + ", " + u.FName
}).ToString();
我也试过
var result = ctx.Users.Where(u => (u.UserId.Equals(id)))
.Select( u => new {FullName=u.LName + ", " + u.FName})
.ToString();
但是两者都返回SQL Select语句,而不是全名。有人可以帮忙吗?
答案 0 :(得分:9)
您没有执行查询。要执行查询,您需要调用ToList()
,First()
,Single()
,FirstOrDefault()
等特殊方法...
您正在做的只是创建一个查询。 ToString
只会为您提供此类查询的表示。
以下是使用First()
执行查询的示例:
var result =
ctx.Users
.Where(u => u.UserId.Equals(id))
.Select(u => u.LName + ", " + u.FName)
.First();
我正在使用First
,因为我假设您正在选择特定用户。
或者您的原始代码:
var result = (from u in ctx.Users
where u.UserId.Equals(id)
select new
{
FullName = u.LName + ", " + u.FName
}).First();
答案 1 :(得分:1)
请勿使用toString()
var result = (from u in ctx.Users
where u.UserId.Equals(id)
select new
{
FullName = u.LName + ", " + u.FName
}).FirstOrDefault();