[英]Querying data from multiple disjoint tables (EF6)
我目前正在尝试自动执行搜索任务。 基本上,我有多个这样的表:
基本上是多个非常相似的表。 我现在要做的是在“PartNumber”和“Value”字段中搜索文本字符串。 我不介意它是否出现在任何 R、C、X 列中。
有没有办法
如果添加了新表,则只应将其添加到上下文中,然后自动进行搜索。
假设你有
class TableA
{
public int Id { get; set; }
public string PartNumber { get; set; }
public string Value { get; set; }
public int R { get; set; }
}
class TableB
{
public int Id { get; set; }
public string PartNumber { get; set; }
public string Value { get; set; }
public int C { get; set; }
}
class TableC
{
public int Id { get; set; }
public string PartNumber { get; set; }
public string Value { get; set; }
public int X { get; set; }
}
List<TableA> tableAs = new List<TableA>();
List<TableB> tableBs = new List<TableB>();
List<TableC> tableCs = new List<TableC>();
您可以查询它的方法之一是这样的:
var result = tableAs.Select(e => (e.PartNumber, e.Value))
.Union(tableBs.Select(e => (e.PartNumber, e.Value)))
.Union(tableCs.Select(e => (e.PartNumber, e.Value)))
.Where(e => e.PartNumber.Contains("something") || e.Value.Contains("something else"))
.ToList();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.