Imaginez qu'il existe deux tables. Une commande peut avoir plusieurs OrderStatus, qui peuvent être appelés OrderStatusHistory. Je vais avoir un StronglyTypeObject ordre, qui descripted comme suitLINQ à SQL SubSelect Like Query
namespace my.project
{
public class Order
{
Int64 OrderId { get; set; }
String Name { get; set; }
Int64 StatusId { get; set; }
}
}
Ce StatusID dans l'objet de la commande est destiné à être le courant (dernier) StatusID du OrderStatus tableau.
J'ai essayé de créer une liste IQueryable d'objets avec LINQ. Voici mon, ne fonctionne pas;), Code 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
}
J'ai aussi essayé de travailler avec Max (p => p.XXX) mais il n'a pas fonctionné. Est-ce que quelqu'un a un indice sur ce problème?
Toute aide serait appréciée ...
Gordon
Cela illustre pourquoi j'ai critiqué Linq et des solutions ORM similaires. Voici un problème qui a une solution largement connue et assez simple dans un langage bien établi. Afin d'obtenir des avantages théoriques, vous abandonnez la productivité réelle. Est-ce que les gains que vous avez obtenus de Linq l'emportent sur le temps nécessaire pour apprendre une manière redondante (et idiosyncratique) d'interroger des données? Voir http://stackoverflow.com/questions/458802/doesnt-linq-to-sql-miss-the-point-arent-orm-mappers-subsonic-etc-sub-opti pour la discussion. –