使用 Entity Framework 嵌入自定义 SQL

Embed Custom SQL with Entity Framework

根据我目前所看到的,我猜这个问题的答案是 "no",但我想如果我遗漏了什么我会问。

我查看了 Azure SQL 的新 RLS(行级安全性)功能。需要做的事情之一是在执行 SQL 语句之前设置(用户)上下文。由于我也在看 entity framework,我的问题是我是否可以 embedinject 类似 "EXECUTE AS USER = 'User1'" 的东西进入由 entity framework.

生成的 SQL

这有可能吗?我知道我可以执行自定义 SQL 但我想在一个地方设置代码并让它 运行 所有生成的语句 SQL.

如果需要,使用用户创建一个新的连接字符串,或者,您可以修改 DbContext 使用的连接字符串。

可能是这个 EF6 feature can help, and more particularly the interception interface 通过 IDbCommandInterceptor。

不清楚是否能够更改生成的sql,但可能会。

否则,你试过context.Database.ExecuteSqlCommand("EXECUTE AS...")吗?