在实体框架中实现安全性

时间:2011-11-04 07:17:58

标签: entity-framework

在我的客户端站点,数据库用户只有执行存储过程的权限。

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

但是我使用了Entity Framework,并且没有使用任何存储过程。

我该怎么办?

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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

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

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