想象有两个表。LINQ到SQL SubSelect Like查询
Order
+----------------+
| ID |
| Name |
+----------------+
OrderStatus
+----------------+
| ID |
| OrderId |
| StatusId |
+----------------+
一个订单可以有多个OrderStatus,它可以被称为OrderStatusHistory。 我将有一个StronglyTypeObject 订单,其中如下
namespace my.project
{
public class Order
{
Int64 OrderId { get; set; }
String Name { get; set; }
Int64 StatusId { get; set; }
}
}
这StatusId在订单对象,就是要在OrderStatus表当前(最后一个)StatusId被descripted。
我试图用LINQ构建一个IQueryable对象列表。这里是我的,不工作),LINQ的代码
var result = from r in dbContext.ORDER
select new Order
{
OrderId = r.ID,
Name = r.Name,
StatusId = dbContext.OrderStatus
.Where(p => p.OrderId == r.ID).Last().StatusId
}
我也试图与最大(P => p.XXX)工作,但一直没有解决。 有没有人对此问题有暗示?
任何帮助,将不胜感激......
戈登
这是说明为什么我一直批评Linq和类似的ORM解决方案。这是一个问题,在一个完善的语言中有一个广为人知,相当直接的解决方案。为了获得一些理论上的好处,你放弃了实际的生产力。从Linq获得的收益是否超过了学习查询数据的冗余(和特殊)方式所需的时间?请参阅http://stackoverflow.com/questions/458802/doesnt-linq-to-sql-miss-the-point-arent-orm-mappers-subsonic-etc-sub-opti进行讨论。 – 2009-06-05 12:08:50