所以我对.Net 3.5中的Linq非常陌生并且有一个问题。我使用一个自定义类来处理存储过程的以下结果:
使用我的自定义类,我会从数据库中收到一个包含3个DataTables的DataSet,其中的列基于从DB返回的内容。
我的问题是如何使用LINQ实现这一目标?我将需要一次点击数据库并返回包含不同类型数据的多个集合。
另外,我如何使用LINQ根据参数返回动态数量的集合(可以获得1次设置,可以获得N金额)?
我查看了这个article,但没有找到解释多个集合的任何内容(只有一个集合可以是动态的,也可以是单个标量值和单个集合)。
任何文章/评论都会有所帮助。
由于
答案 0 :(得分:2)
答案 1 :(得分:0)
我自己并不熟悉LINQ,但here是MSDN在LINQ Samples上的网站,可能会帮助你。
答案 2 :(得分:0)
LINQ to SQL能够将多组数据水合成对象图,同时一次点击数据库。但是,我不认为LINQ会实现你最终想要的东西 - 据我所知,这是一个完全动态的数据集,它是在查询本身之外定义的。也许我误解了这个问题,如果您提供现有应用程序使用的示例代码,它可能会有所帮助吗?
这是一个快速示例,说明如何使用单个数据库调用来保持匿名类型,也许它会有所帮助:
var query = from p in db.Products
select new
{
Product = p,
NumberOfOrders = p.Orders.Count(),
LastOrderDate = p.Orders.OrderByDescending().Take(1).Select(o => o.OrderDate),
Orders = p.Orders
};