【问题标题】:How to update Entity through WCF service如何通过 WCF 服务更新实体
【发布时间】:2011-12-17 17:00:07
【问题描述】:

我让实体框架 DbContext 在本地工作,直接连接到 SQL 数据库。

现在我试图将实体框架的东西放在 WCF 服务后面。 WCF 服务将公开其自己的一组与底层实体相对应的服务层对象 (DataContracts)。客户端永远不知道底层数据存储和实体。

  • 获取数据很简单,只需一个 LINQ to SQL 和 .ToList();
  • 插入新对象还不错,从客户端通过其 OperationContract 将 DataContract 传递给 WCF 服务,然后 WCF 将调用 DbContext.Add()、DbContext.SaveChanges();

但是我该如何进行更新呢?我需要保留PK吗?如果是这样,通常的做法是什么?

感谢您的帮助。谢谢。

【问题讨论】:

  • 我不确定您所说的“将数据合同从客户端传递到服务”是什么意思 - 这对我来说听起来像是泄漏。无论如何,是的,客户端应该知道它想要更新的实体的 PK。
  • 将服务数据契约从客户端传递给服务。可以吗?

标签: c# wcf entity-framework windows-services dbcontext


【解决方案1】:

是的,您需要保留主键。 我把它们放在面向客户的对象中。您可以在客户端检索数据时将它们作为对象的一部分传回,以便他们可以在更新时将其传回给您。

如果 PK 名称不适合您的抽象,只需将其命名为其他名称,您的服务只需要知道映射即可。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多