【发布时间】:2010-04-26 19:48:44
【问题描述】:
在我的组织中,我们刚刚开始将实体框架用于某些应用程序。过去,我们曾推动开发人员将存储过程用于所有数据库访问。除了帮助 SQL 注入之外,我们还尝试授予登录访问存储过程的权限,只是为了保持相对严格的安全性。
虽然通过 EF 中的存储过程可以轻松完成插入、更新和删除操作,但使用存储过程通过 EF 查询数据似乎很困难。但是,使用 LINQ 或 Entity SQL 并允许 EF 创建查询意味着授予用户对整个数据库的读取权限。
其他人是如何处理这个困境的?
【问题讨论】:
-
在 EF 中使用 proc 查询数据非常容易。你不能做的是编写这些查询,因为 procs 不构成。这不是 EF 限制;这是 procs 的基本限制。