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

标签 c# .net database entity-framework wcf

我正在从事一个项目以更加熟悉 WCF 服务和 Entity Framework ,但我遇到了障碍。我目前有一个简单的 WCF 服务,它具有在单独的类库中实现的 EF 代码优先数据库上下文。我还有一个控制台应用程序来托管服务和一个客户端来使用该服务。这给我留下了以下 2 个问题:

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

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

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

最佳答案

1) 服务主机不应该知道你的数据库平台,因为在第二天你可以将你的 as 服务作为 Windows 服务托管,并且不想在主机之间复制代码,所以最好在服务中初始化(通过使用分离的 DAL)

2) 管理您的应用程序权限并从每个客户端传递这些访问 token ,您可以使您的代码与 AD 同步,自行开发或您喜欢的任何其他方法

关于c# - 使用 EF 数据库设置 WCF 服务的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31121483/

相关文章:

mysql - 在 JOIN 2 次同一个表的查询中使用单个表实例的更智能方法是什么?

数据库算法缩放

.net HttpCookie 类/ session cookie 问题

C# MVC3 ViewBag,如​​何在 foreach 语句中的 View 中使用列表属性?

c# - 当没有 UAC 弹出窗口时,无法检测用户是否以提升的权限运行

Android 在用户之间同步数据

c# - 如何在 MVC 环境中的母版页顶部显示 Welcome "CurrentUserName"?

c# - POST 请求响应 404,而 GET 请求工作正常 .NET Core、React

c# - 为什么 "await"必须在 "async"方法中?

c# - 如何在 EF7(Core) 中创建与同一个表的多个关系?