我已經在這兩天了。我對Linq表達不太擅長,所以請原諒簡單。我有兩個相關的表,並且使用TSQL編寫聯接會很容易,但我正在使用Entity Framework和Linq。將Linq表達式轉換爲C#EF
我砍死了在LINQPad查詢(通過閱讀文章和教程),並且將結果返回,因爲我想最後。
現在我需要幫助轉向到這一點的C#代碼。我有谷歌翻譯網站,並找到大量的SQL Linq但沒有爲我在做什麼....很可能是因爲我甚至不知道我使用正確的搜索條件。
我的LINQPad代碼是這樣的:
DashboardNavigations
.OrderBy(x => x.Id)
.Select(x => new
{
x.Id,
x.Name,
x.Description,
x.ImageUrl,
SubDash = SubDashNavs
.Where(s => s.DashId == x.Id)
.Select(y => new { y.Id, y.Name, y.Description })
})
我習慣了編寫簡單的LINQ表達式到實體框架是這樣的:
var query = _mlsDashboardNavRepository.Table;
query = query.OrderBy(c => c.Id);
var dashnav = query.ToList();
正如你可以看到我有返回主記錄,但不能獲得加入權。
什麼,我需要用從LINQPad翻譯代碼到C#/ EF/LINQ to SQL的....幫助????
包括你如何在SQL中編寫它,我會告訴你它的Linq。 – Seabizkit
我認爲問題是您需要som上下文,您可以在其中訪問DashboardNavigations和SubDashNavs。糾正我,如果我錯了,但'_mlsDashboardNavRepository.Table'似乎是隻引用DashboardNavigations的上下文。 – NLindbom
使用LINQ to SQL和正確的上下文(數據庫不是表格),您應該能夠像在LINQPad中一樣編寫查詢。 – NLindbom