c# - 如何通过 WCF 服务更新实体

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

我让 Entity Framework DbContext 在本地工作,直接连接到 SQL 数据库。

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

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

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

感谢您的帮助。谢谢。

最佳答案

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

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

关于c# - 如何通过 WCF 服务更新实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8546363/

相关文章:

c# - ASP.NET 的 Wordpress 等价物

c# - Instagram 授权范围不起作用

c# - 如何从 EF Core 中的父实体中删除子实体?

c# - 将列表创建的字典从 Python 转换为 C#

c# - 在 View 中显示字典值

c# - WCF 不反序列化。为什么我的参数是 NULL?

C# WCF JSON WebService 返回 mime 类型 image/png

WCF 读取数据成员名称属性

c# - 保存具有所有必需属性的对象时 Entity Framework 验证错误

c# - 继承IdentityUser时如何创建新用户