gpt4 book ai didi

c# - 使 Entity Framework 只读

转载 作者:太空狗 更新时间:2023-10-30 00:33:54 24 4
gpt4 key购买 nike

我目前正在创建一个从许多不同数据源中提取数据的应用程序 - 其中大部分是开发数据库,​​但有些是实时的(我知道这很糟糕,但它完全不受我的控制)。

我想保护自己不对这些实时数据库进行修改,因此我有兴趣将实体设置为只读

我的研究告诉我这是不可能的,但我预计现在可能会出现功能更改或变通方法。有人做到了吗?

最佳答案

我认为最好将限制放在数据库中而不是应用程序中。在实时数据库中创建一个单独的用户,即 data_reader 角色的成员。这将只提供对数据库的读取访问权限。

如果您调整了服务器上的安全设置和角色,您必须更详细地检查,但作为默认的 data_reader 就可以了。

编辑

一个简单的方法是覆盖这些数据库的数据上下文的 SaveChanges() 方法:

public override int SaveChanges()
{
throw new AccessViolationException(
"Don't mess with a live database during test");
}

关于c# - 使 Entity Framework 只读,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9632559/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com