使用 Entity Framework 嵌入自定义 SQL
Embed Custom SQL with Entity Framework
根据我目前所看到的,我猜这个问题的答案是 "no",但我想如果我遗漏了什么我会问。
我查看了 Azure SQL 的新 RLS(行级安全性)功能。需要做的事情之一是在执行 SQL 语句之前设置(用户)上下文。由于我也在看 entity framework,我的问题是我是否可以 embed 或 inject 类似 "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...")
吗?
根据我目前所看到的,我猜这个问题的答案是 "no",但我想如果我遗漏了什么我会问。
我查看了 Azure SQL 的新 RLS(行级安全性)功能。需要做的事情之一是在执行 SQL 语句之前设置(用户)上下文。由于我也在看 entity framework,我的问题是我是否可以 embed 或 inject 类似 "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...")
吗?