EF和OData实体关系 - 需要一些基本帮助

时间:2015-12-13 05:29:40

标签: entity-framework odata

我认为这是一个非常基本的问题。创建了一个OData Web服务器来提供客户和订单。每个订单都与客户有关系。代码段是:

public class Customer
{
   int Id {get;set;}
...
}
public class Order
{
   int Id {get;set;}
   public virtual Customer customer {get;set;}
...
}

当Web服务创建数据库和表时,它们看起来都很好。如果我在正确设置客户对象的情况下添加Order对象(在订单控制器中),则生成的Customer_Id外键字段将被填入。我的问题是:

  1. 在客户端上,当我向OData容器添加订单时,它不会序列化客户对象,因此控制器获取空值。当我在控制器中设置客户对象时,EF似乎处理该流程,为该客户提供正确的ID。
  2. 我想知道我是否需要在客户端应用上调用.AddLink。如果是这样,不确定要添加什么,因为我的所有尝试都会抛出异常。

    container.AddLink(order.Customer, “客户”,顺序); (抛出异常,即订单没有可设置的属性)

    1. 当我尝试检索订单对象时,客户对象始终为空。我已经禁用了LazyLoading,甚至在订单控制器获取处理程序中都有.Include(o => o.Customer)。
    2. 认为我遗漏了一些非常基本的东西,只是没有得到我需要做的事情来使这项工作。我确实有一个按预期工作的嵌入式复杂类型,只是无法让实体关系在客户端中流动。

      感谢您提供的任何帮助。

0 个答案:

没有答案