我有两个要链接在一起的表。表1是项目:ID,名称,日期。表2将是内容:Id,名称,文本。我想将许多内容链接到一个项目,然后询问链接到给定项目的内容的名称。
示例:
我对以下内容满意:Id=1, Name=Content1, Text=blablabla.
另一个内容为:Id=2, Name=Content2, Text=HelloHello
还有一个项目:Id=1, Name=Project, Date=27.01.2019, ContentsId=1, 2.
第一个问题:如何将它们链接在一起? 第二个问题:如何在项目中询问内容的名称。
谢谢。
答案 0 :(得分:0)
对于可以完美工作的本地集合:(我添加了虚拟类以进行类型检查)
void Main()
{
var t1 = new T1[] { new T1(), new T1() };
var t2 = new T2[] { new T2(), new T2() };
var joinQuery =
from r1 in t1
from r2 in t2
where r2.ContentsId.Contains(r1.Id) == true
select new { name1 = r1.Name, text = r1.Text, name2 = r2.Name };
}
class T1
{
public int Id { get; set; }
public string Name { get; set; }
public string Text { get;set; }
}
class T2
{
public int Id { get; set; }
public string Name { get; set; }
public int[] ContentsId { get; set; }
}
joinQuery 是关键,因此它返回匿名对象的集合,其中name1-来自第一个集合的名称,text-来自第一个集合的文本,name2-来自第二个集合的名称
希望有帮助。