【问题标题】:Deleting an entity that's not tracked by DataServiceContext删除未被 DataServiceContext 跟踪的实体
【发布时间】:2015-07-23 00:56:35
【问题描述】:

如何删除未被 DataServiceContext 跟踪的实体。例如,我在客户端有一个我的实体对象,我想删除它。我知道这个特定对象已经存在于服务器端的数据库中,但它不在 DataServiceContext 实体跟踪器中(原因之一可能是我的客户端没有添加这个对象)。我如何删除这个对象。请帮帮我

【问题讨论】:

  • 可以通过action/function来实现吗?动作/功能可以参考this
  • 谢谢山姆。函数是我最后的选择。有没有其他方法可以发出删除请求,以便我可以在服务器中使用 Delete API?
  • 或者有没有办法将对象(通过从服务器获取)填充到 DataServiceContext 实体跟踪器中?

标签: c# asp.net-web-api odata


【解决方案1】:

[回答我自己的问题]

这就是我目前的做法。假设我的实体如下

class Book
{
   public string ISBN {get; set;}
   public string Name {get; set;}
}

我想删除 ISBN(key 属性)为“AXBX”的图书。

var container = new Container(new Uri("http://localhost/MyApp/odata"));
var book = new Book(){ISBN = "AXBX"}
container.AttachTo("Books", book); // add object to entity tracker
container.DeleteObject(book);
container.SaveChanges();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-01-05
    • 2020-01-17
    • 2016-09-14
    • 2014-07-02
    • 1970-01-01
    • 1970-01-01
    • 2021-06-26
    • 2017-04-01
    相关资源
    最近更新 更多