獲取不重複的記錄,我有兩個表 - tblExpenses和tblCategories如下LINQ查詢從兩個表中
tblExpenses
ID (PK),
Place,
DateSpent,
CategoryID (FK)
tblCategory
ID (PK),
Name
我嘗試過各種LINQ方法來獲取所有上述兩張表格中有不同的記錄,但沒有取得太大的成功。我嘗試使用UNION和DISTINCT,但它沒有奏效。
上述兩個表在我的項目的模型部分中定義,這些部分反過來將在SQLite中創建表。我需要從兩個表中檢索所有不同的記錄以在gridview中顯示值。
請提供一些輸入來完成此任務。我做了一些研究來找到這個問題的答案,但沒有什麼東西接近我想要的。對不起,如果我重複了這個問題。
這裏是UNION,不同的方法我試過:
DISTINCT#==>讓我重複值
(from exp in db.Table<tblExpenses >()
from cat in db.Table<tblCategory>()
select new { exp.Id, exp.CategoryId, exp.DateSpent, exp.Expense, exp.Place, cat.Name }).Distinct();
讓我們瞭解您嘗試與UNION和DISTINCT因爲這是正確的道路。 – leppie
如果工會不工作,也許你可以試試[Linq ZIP](http://weblogs.thinktecture.com/cnagel/2010/02/linq-with-net-4-zip.html)和Distinct – jao
主要問題是你創建了一個Cartesian Product或交叉連接('from exp ... from cat ... select')。 –