编程语言
首页 > 编程语言> > c#-Linq查询以从两个表中获取不同的记录

c#-Linq查询以从两个表中获取不同的记录

作者:互联网

我有两个表-tblExpenses和tblCategories如下

tblExpenses

ID (PK),
Place,
DateSpent,
CategoryID (FK)

tbl类别

ID (PK),
Name

我尝试了各种LINQ方法从上述两个表中获取所有不同的记录,但是收效甚微.我尝试使用UNION和DISTINCT,但是没有用.

上面的两个表是在项目的“模型”部分中定义的,该表又将在SQLite中创建表.我需要从两个表中检索所有不同的记录以在gridview中显示值.

请为我提供一些完成任务的建议.我做了一些研究来找到这个问题的答案,但是似乎没有什么比我想要的要好.对不起,如果我重复这个问题.

这是我尝试过的UNION,DISTINCT方法:

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#==>使用UNION时出错

解决方法:

我认为当您加入两个表时,工会已经可以解决问题了,您可以尝试像

 var query=(from c in db.tblExpenses select c).Concat(from c in 
            db.tblCategory select c).Distinct().ToList();

标签:sqlite,inner-join,linq-to-sql,linq,c
来源: https://codeday.me/bug/20191031/1975029.html