有人能帮我把SQL查询转换成LINQ表达式吗?
有人能帮我把下面的SQL查询转换成LINQ表达式吗有人能帮我把SQL查询转换成LINQ表达式吗?,linq,linq-to-sql,Linq,Linq To Sql,有人能帮我把下面的SQL查询转换成LINQ表达式吗 select student.StudentID, student.FirstName + ' ' + student.MiddleInitial + ' ' + student.LastName, student.OpenDate, acct.Balance from Student student inner join (Select StudentID, Sum(Amount
select student.StudentID,
student.FirstName + ' ' + student.MiddleInitial + ' ' + student.LastName,
student.OpenDate,
acct.Balance
from Student student
inner join
(Select StudentID, Sum(Amount) as Balance
from Account
Group by StudentID) as acct on student.StudentID = acct.StudentID
下面的LINQ表达式有效!非常感谢你,菲尔
var results = (from s in Students
join a in Accounts on s.StudentID equals a.StudentID
group a by new
{s.StudentID, s.FirstName, s.MiddleInitial, s.LastName, s.OpenDate}
into z
select new
{ StudentID = z.Key.StudentID,
FirstName = z.Key.FirstName,
MiddleInitial = z.Key.MiddleInitial,
LastName = z.Key.LastName,
OpenDate = z.Key.OpenDate,
Balance = z.Sum(a=> a.Amount)
}
);
谢谢大家! 试试这个
var stu =
from s in db.Students
join a in db.Account on s.StudentID equals a.StudentID
group a by new
{s.StudentID, s.FirstName, s.MiddleInitial, s.LastName, s.OpenDate}
into z
select new
{ StudentID = z.Key.StudentID,
FullName = string.Format("{0} {1} {2}",z.Key.FirstName, z.Key.MiddleInitial, z.Key.LastName),
OpenDate = z.Key.OpenDate,
Balance = z.Sum(a=>a.Amount)
};
您不应该将表示逻辑混合到SQL查询中。查询应该以三个字段的形式返回名称的部分,并且应该在接收应用程序上显示如何呈现它们。您是正确的,谢谢。我将修改查询以仅返回部分名称,并在预网格层中处理格式。请参阅: