gpt4 book ai didi

sql-server - 如何在 Entity Framework 中创建数据库用户

转载 作者:行者123 更新时间:2023-12-04 00:11:15 29 4
gpt4 key购买 nike

一直致力于我的第一个 Entity Framework 项目。作为项目的一部分,我将创建许多 SSRS 报告。为了连接到数据库,我需要有一个只能访问服务器上特定数据库的 Reports 用户。过去,我总是编写一个脚本来添加数据库用户,但我想知道有没有办法使用 Entity Framework 来做到这一点?

最佳答案

假设您的用户已经在 SQL Server 级别(安全 > 登录)定义了登录,您可以从数据库初始化程序种子方法调用以下方法将用户添加到数据库:

private void AddDbUser(MyDataContext myDB)
{
string accountDomainName = "AccountDomainName"; // replace with user's login domain
string accountLoginID = "AccountLoginID"; // replace with user's login ID

string sql =
"USE [MyDB]" +
"CREATE USER [MyNewUser] FOR LOGIN [" + accountDomainName + "\\" + accountLoginID + "]" +
"ALTER AUTHORIZATION ON SCHEMA::[db_datareader] TO [" + accountLoginID + "]" +
"ALTER AUTHORIZATION ON SCHEMA::[db_datawriter] TO [" + accountLoginID + "]" +
"EXEC sp_addrolemember N'db_datawriter', N'" + accountLoginID + "'" +
"EXEC sp_addrolemember N'db_datareader', N'" + accountLoginID + "'";

myDB.Database.ExecuteSqlCommand(sql);
}
所需的确切 SQL 取决于您的配置。要让 SQL Server 为您的方案生成 SQL,您可以在 SSMS 中打开添加用户对话框(数据库 > 用户 > 新用户...),填写字段,然后单击顶部的“脚本”按钮而不是点击确定在底部。请注意,在将其粘贴到上述方法之前,需要从生成的脚本中删除任何“GO”行。

关于sql-server - 如何在 Entity Framework 中创建数据库用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34748589/

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