一次搜索多个表(Linq to SQL)?

Jer*_*old 3 linq linq-to-sql

我有几个表格是无关的 - 我喜欢搜索它们并创建一个我可以在以后筛选的类型

像这样的东西不起作用

var results = from dog in _dataContext.Dogs  
                      where dog.Name.Contains(search)  

                      from catin _dataContext.Cats  
                      where cat.Name.Contains(search)  

                      select new AnimalSearchResults  
                                  {  
                                      Dog = dog,  
                                      Cat = cat  
                                  };  

        return results;  
Run Code Online (Sandbox Code Playgroud)

我基本上想要创建一个"AnimalSearchResults"列表,其中包含所有狗和所有具有该名称的猫

做这样的事情最好的方法是什么?

Dan*_*plo 6

听起来你想要联合两个结果,所以你的基本查询将是这样的:

var results = (from dog in _dataContext.Dogs  
                      where dog.Name.Contains(search))
                      .Union
                      (from cat in _dataContext.Cats  
                      where cat.Name.Contains(search));
Run Code Online (Sandbox Code Playgroud)