在我的客户端站点,数据库用户只有执行存储过程的权限。
数据库用户无权直接执行查询。
但是我使用了Entity Framework,并且没有使用任何存储过程。
我该怎么办?
答案 0 :(得分:1)
在这种情况下,最好直接使用本机SQL + ADO.NET。 EF的主要功能在于映射,linq / ESQL查询和加载策略。一旦限于存储过程,您将失去对后两者的支持=没有查询和没有加载策略。您仍将支持映射,但它会带来性能成本,并且会要求对存储过程进行严格限制。
答案 1 :(得分:0)
实体框架允许您将每个实体映射到一组将执行插入,删除和更新的存储过程。
这样,用户在修改数据库中的数据时就不必直接执行查询。
如果用户也没有“选择”权限,则需要存储过程来访问数据。实体框架可以帮助您,因为您可以在EDMX的SSDL部分中导入存储过程,然后您可以将这些存储过程映射到ObjectContext上的函数。