将SQL转换为LINQ to SQL

7

我在将以下SQL转换为LINQ to SQL时遇到了很大的困难,有人能帮忙吗?

SELECT     dbo.ExpensesGroup.ExpenseGroupId, dbo.ExpensesGroup.Title, SUM(dbo.Expenses.Amount) AS TotalAmount, MAX(dbo.Expenses.DateLastTickled) 
                      AS LastTickledDate, MAX(dbo.ExpensesGroup.DateTime) AS Date, Username
FROM         dbo.Expenses INNER JOIN
                      dbo.ExpensesGroup ON dbo.Expenses.ExpenseId = dbo.ExpensesGroup.ExpensesId
WHERE     dbo.Expenses.Status = 'AwaitingApproval' or dbo.Expenses.Status = 'AwaitingApprovelGrouping'
GROUP BY dbo.ExpensesGroup.ExpenseGroupId, dbo.ExpensesGroup.Title, dbo.Expenses.Username
ORDER BY MAX(dbo.ExpensesGroup.DateTime) DESC, dbo.ExpensesGroup.Title

甚至更好的是,有人知道自动将SQL转换为LINQ的工具吗?
4个回答

5

请参考这个已有的讨论。

如果您决定手动完成,Linqpad应该会很有用。


2

我尝试过使用LinqPad,但它并不用于将SQL转换为LINQ。LinqPad的实际用途是用LINQ替换SQL来查询数据库。

但是,如果您想将SQL查询转换为LINQ,我认为Linqer是一个不错的选择。您可以从官方网站下载。

http://www.sqltolinq.com/


答案是否定的。我没有尝试过努力寻找,如果你找到了,请在下面留言。谢谢。 - Mubashar

0

超链接已失效。 - Reinis

-2

如果要从LINQ -> SQL,请尝试以下方法:

        var db = new DBModelDataContext();
        StringBuilder sb = new StringBuilder();
        StringWriter sw = new StringWriter(sb);
        db.Log = sw; //set the writer

        var items = (from rec in db.Table1
                     select rec).ToList();

        var sql = sb.ToString(); //here is the SQL from LINQ.

3
这并没有回答这个问题。 - Philipp M
1
相反的问题 - bkwdesign

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接