C# 具有列表对象的Linq匿名类型

C# 具有列表对象的Linq匿名类型,c#,linq,entity,C#,Linq,Entity,我不熟悉LINQ和实体框架,到目前为止,我只能执行相对简单的数据查询。我刚刚开始查询数据并使用以下代码将结果存储在类中: public class myData { public string name { get; set; } public string id {get; set;} } var data = (from t1 in MyContext.Table1 from t2 in MyContext.Table2

我不熟悉LINQ和实体框架,到目前为止,我只能执行相对简单的数据查询。我刚刚开始查询数据并使用以下代码将结果存储在类中:

public class myData
{
    public string name { get; set; }
    public string id {get; set;}
}

 var data = (from t1 in MyContext.Table1
             from t2 in MyContext.Table2
             where t1.Id == "1"
             select new myData
             {
                 name = t1.Name,
                 id = t2.id
             }).FirstOrDefault();
是否也可以获取遵循多对一关系的数据?例如,如果使用t1.Id存储了许多“数据值”,那么可以同时查询这些数据吗

e、 g

公共类myData
{
公共字符串名称{get;set;}
公共字符串id{get;set;}
公共列表数据{get;set;}
}
var data=(来自MyContext.Table1中的t1
来自MyContext.Table2中的t2
其中t1.Id==“1”
选择新myData
{
name=t1.name,
id=t2.id

data=t2.datavalues您要做的是
Join
表:

var query = from t1 in MyContext.Table1
    join t2 in MyContext.Table2
    on t1.Id == t2.Id into t2Values
    select new myData
    {
        name = t1.Name,
        id = t1.id,
        data = t2Values.Select(t2 => t2.SomeField),
    };

你的问题很不清楚。
MyContext.Table2
的元素类型是什么,以及该类型是什么样的?我还必须将我的类对象从列表数据更改为IEnumerable数据。
var query = from t1 in MyContext.Table1
    join t2 in MyContext.Table2
    on t1.Id == t2.Id into t2Values
    select new myData
    {
        name = t1.Name,
        id = t1.id,
        data = t2Values.Select(t2 => t2.SomeField),
    };