0

我有一个MyEntity使用复合键的实体 ()。

实体被发布和插入就好了,但是当Created()被调用时它会抛出一个InvalidOperationException带有消息的。

实体集“MyEntity”的编辑链接构建器返回 null。位置标题需要编辑链接。

public IHttpActionResult Post(MyEntity entity)
{
    entity = Repository.Insert(entity);
    Repository.Save();

    return Created(entity); // fails
}
4

1 回答 1

1
  1. 如果您从约定模型构建器构建 Edm 模型,它应该可以工作。

private static IEdmModel GetEdmModel()
{
      var builder = new ODataConventionModelBuilder();
      ...
      return builder.GetEdmModel();
}

  1. 如果您从非常规模型构建器构建 Edm 模型,您应该设置 Id 链接构建器然后它可以工作:

private static IEdmModel GetEdmModel2()
{
    var builder = new ODataModelBuilder();
    ...
    builder.EntitySet<MyEntity>("MyEntitys").HasEditLink(p => new Uri("http://anylink/"), false);

    return builder.GetEdmModel();
}

于 2015-07-31T02:32:45.897 回答