LINQ匿名类型与列表对象
问题描述:
我是新来的LINQ和实体框架,到目前为止,我只能够执行相对简单的数据查询。我刚开始查询数据,并使用代码,例如存储在一个类中的结果: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存储的“数据值”可以同时查询这些数据?
例如
public class myData
{
public string name { get; set; }
public string id {get; set;}
public List<double> data {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
data = t2.datavalues <== This obviously gives a conversion error
}).FirstOrDefault();
好像应该有解决这个合理的方式,但我一直没能找到任何东西。
任何帮助,非常感谢!
答
你想要做的是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),
};
+0
我也不得不将我的类对象从列表
你的问题是不太清楚。 “MyContext.Table2”的元素类型是什么,该类型是什么样的? – 2013-04-10 19:29:49