2011-11-04 66 views
0

在我的客户端,数据库用户只有执行存储过程的权限。在实体框架中实现安全性

数据库用户无权直接执行查询。

但我已经使用了实体框架,并没有使用存储过程。

我该怎么办?

回答

0

实体框架允许您将每个实体映射到一组将执行插入,删除和更新的存储过程。

这样,用户不必在修改数据库中的数据时直接执行查询。

如果用户还没有选择权限,则需要存储过程来访问数据。实体框架可以帮助您,因为您可以在EDMX的SSDL部分导入Stored Procedures,然后可以将这些存储过程映射到ObjectContext上的函数。

+0

我们如何做到这一点?任何使用完整的链接? –

1

在这种情况下,最好直接使用原生SQL + ADO.NET。 EF的主要功能是映射,linq/ESQL查询和加载策略。一旦你被限制在存储过程中,你将失去对后两者的支持=不查询和不加载策略。您仍然会支持映射,但它会带来性能成本,并且会要求严格限制您的存储过程。