【发布时间】: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