可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
I'm having great trouble in converting the following SQL to LINQ to SQL, any one able to help out?
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
Or even better anyone know of an automatic SQl to LINQ converter?
回答1:
See this existing thread.
If you decide to do it by hand, Linqpad should be useful.
回答2:
I tried linqpad but its not for converting SQL to linq but its actual use is to replace sql with linq to query your database
however I think linqer is the right choice if you like to convert SQL query to LINQ. you can download it from their official site.
http://www.sqltolinq.com/
回答3:
linqpad don't convert.
free converter
http://windowsphone.interoperabilitybridges.com/articles/sql-to-linq-converter
Note: Run with SQLite in Windows, not WindowsPhone necesary
回答4:
To go from LINQ -> SQL try this:
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.