您好。 我正在使用一个Invoke Operation返回一个类“Product”
public Product GetProductById(int Id)
{
Product Record = this.ObjectContext.Product.Include("Order_Detail").Where(d=>d.ProductID=Id).FirstOrDefault()
return Record;
}
但是我无法在类
的已完成事件中获得Order_DetailInvokeOperation<Product> Invk = ObjProduct.GetProductById();
Invk.Completed += (sender, e) =>
{
if (!Invk.HasError)
{
Product ObjProduct = Invk.Value;
Order objorder=ObjProduct.Order_Detail;
}
};
我得到ObjProduct.Order_Detail为Null我不知道为什么我无法在此产品实体中包含Order_Detail
我也在元数据中写了[Include]
[Include]
public Order Order { get; set; }
但是我仍然无法在集合中获得Order_Detail。 等待积极的回应。
答案 0 :(得分:2)
这是预期的行为。调用用于在服务器上执行操作或检索简单对象。
正如您所看到的,InvokeOperation回调不包含为包含实体腾出空间的常用Entities / AllEntities属性。
我建议您使用带参数的标准加载操作来获取数据。
public IQueryable<Product> GetProductById(int Id)
{
return this.ObjectContext.Product.Include("Order_Detail").Where(d=>d.ProductID=Id);
}
如果你想要实现的是“非累积执行”(即不加载你的domainContext的entityContainer和查询结果),而不是从Mathew Charles看看这个post