2009-08-27 104 views
3

我在将以下SQL转换为LINQ to SQL时遇到了很大的麻烦,任何人都可以帮忙吗?将SQL转换为LINQ到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

请参阅this现有的线程。

如果您决定手动使用,Linqpad应该是有用的。

1

我试图linqpad,但它不是用于转换SQL到LINQ,但它的实际用途是使用LINQ取代SQL查询数据库

但是我觉得linqer是正确的选择,如果你喜欢SQL查询转换为LINQ 。 你可以从他们的官方网站下载。

http://www.sqltolinq.com/

+0

做ü知道任何免费? – Niraj

+0

答案是否定的。我没有试图找到太难,如果你找到一个请在那里留下评论。谢谢 –

1

从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. 
+2

这不是回答这个问题。 –