使用EF数据库设置WCF服务的正确方法是什么?

时间:2015-06-29 17:03:49

标签: c# .net database entity-framework wcf

我正在开发一个项目,以便更熟悉WCF服务和实体框架,我遇到了障碍。我目前有一个简单的WCF服务,在单独的类库中实现EF代码第一个数据库上下文。我还有一个用于托管服务的控制台应用程序和一个使用该服务的客户端。这给我留下了以下两个问题:

  1. 鉴于我首先使用'代码到新数据库',初始化数据库的适当位置在哪里?服务本身会处理这个还是应该在服务主机中初始化?我的想法是在主机中创建/初始化数据库,并将其视为服务中的现有数据库。

  2. 普通用户客户端应该只具有对数据库的读访问权限;但是,我需要一些与“管理员”相关的东西。能够添加/删除条目的客户端。让多个客户端通过单个服务访问数据库的正确方法是什么,但为他们提供不同的权限?

  3. 我已经看过以下两篇文章 - this onethis one。但是,这些都讨论使用现有的数据库,并没有真正回答我的问题。提前谢谢!

1 个答案:

答案 0 :(得分:1)

1)服务主机不应该知道您的数据库平台,因为第二天您可以将您的服务托管为Windows服务,例如并且不想在主机之间复制代码,因此它是更好地在服务中初始化(通过使用单独的DAL)

2)管理您的应用程序权限并从每个客户端传递这些访问令牌。您可以将代码与AD同步,自我开发以及您希望的任何其他方法