Linq to SQL JOIN?

本文关键字:JOIN SQL to Linq | 更新日期: 2023-09-27 18:20:33

我试图查询一个表中的名称,然后使用该结果将主记录拉入DataGridView。因此,我需要做的是从兴趣表中获取与放入文本框中的名称类似的名称,然后使用这些结果从CaseSelector表中提取数据,并为这些结果设置bindingsource过滤器。为什么我似乎不能将结果设置为caseSelectorBindingSourceFilter

             var results = from CaseSelector in db.CaseSelectors
                     from Interest in db.Interests
                     where SqlMethods.Like(Interest.First, txtFirst.Text) && SqlMethods.Like(Interest.Last, txtLast.Text)
                     select CaseSelector;
caseSelectorBindingSource.Filter = ("CaseNumberKey =" + results);  

Linq to SQL JOIN?

您可以在这里找到LINQ联接查询的示例:

http://code.msdn.microsoft.com/101-LINQ-Samples-3fb9811b

我不知道你的DB模式,但你正在寻找一些类似的东西

from c in db.Cases
join i in db.Interest on i.CaseNumberKey equals c.CaseNumberKey
select c

您刚刚检索到的是一个有效caseNumberKeys的SQL集。

你的案例过滤器应该是类似的东西

caseSelectorBindingSource.Filter = "CaseNumberKey in " + interestsresultsAsSQLSET;

您必须对兴趣结果进行迭代,并将其转换为SQLSET的字符串表示形式。如果你觉得幸运,你可以试着.toString()它,看看会发生什么。

string interestsResultsAsSQLSet = "(";
//write most of them
for(int i=0; i<interestsresults.size() - 1; i++) {
    interestsResultAsSQLSet.append(interestsresults[i] + ",");
//write the last one, with right paren
interestsresults.append(interestsresults[interestsresults.size() -1] + ")");

我整天都在写Java,忽略了我的基本语言错误P