我需要一些帮助从EF 4.1查询中获取一些数据。
我有一个Products
表和一个Categories
表,它们具有多对多关系。
我需要按ID选择产品,并在其中包含与之关联的类别。
我想出了这个:
Public Function GetProductByID(ID As Integer) As Core.Entities.Product Implements Core.Interfaces.IProductService.GetProductByID
Dim p = ProductRepository.Query.Single(Function(x) x.ID = ID)
p.Categories = CategoryRepository.Query.Where(Function(x) x.Products.Any(Function(y) y.ID = ID)).ToList
Return p
End Function
我相信有更好的方法!
答案 0 :(得分:2)
如果您的Include()
实体上有Categories
个媒体资源,为什么不使用Product
? (C#语法):
var p = ProductRepository.Include(x=> x.Categories)
.Single(x => x.ID == ID);