gpt4 book ai didi

asp.net - 合并两个 ASP.NET 成员资格数据库

转载 作者:行者123 更新时间:2023-12-01 04:12:08 25 4
gpt4 key购买 nike

我必须将两个 ASP.NET 成员资格数据库与相关的角色和配置文件表合并。两个数据库具有相同的角色和配置文件结构。他们使用内置提供程序(SqlMembershipProvider 和 friend )。重复是可能的。

你对我有什么建议吗?有没有工具可以做到这一点?如果不是:您能推荐使用成员(member) API 还是使用 SQL 更容易。

更新

这是我最终用来传输成员(member)数据的脚本。

insert into targetMembershipDatabase.dbo.aspnet_users
select * from sourceMembershipDatabase.dbo.aspnet_users
where username not in (select username from targetMembershipDatabase.dbo.aspnet_users)

insert into targetMembershipDatabase.dbo.aspnet_membership
select * from sourceMembershipDatabase.dbo.aspnet_membership
where userid in (select userid from targetMembershipDatabase.dbo.aspnet_users)
and not userid in (select userid from targetMembershipDatabase.dbo.aspnet_membership)

insert into targetMembershipDatabase.dbo.aspnet_profile
select * from sourceMembershipDatabase.dbo.aspnet_profile
where userid in (select userid from targetMembershipDatabase.dbo.aspnet_users)
and not userid in (select userid from targetMembershipDatabase.dbo.aspnet_profile)

insert into targetMembershipDatabase.dbo.aspnet_usersinroles
select * from sourceMembershipDatabase.dbo.aspnet_usersinroles
where userid in (select userid from targetMembershipDatabase.dbo.aspnet_users)
and not userid in (select userid from targetMembershipDatabase.dbo.aspnet_usersinroles)

按原样提供。不检查重复的电子邮件。不保证这在更复杂的情况下工作。

最佳答案

我不知道有什么工具可以做到这一点,但模式非常简单,所以只要在 SQL 中完成它就足够简单了。反正所有的键都是 GUID,所以应该没有问题。

显然,如果应用了唯一的电子邮件地址规则,您需要检查 user_name 字段是否有重复项和电子邮件地址。但是,如果两个数据库中的角色相同,那么您真正感兴趣的只是用户。一旦你完成了它们,它只是更新 RoleId 的一个案例。和 ApplicationIdaspnet_Usersaspnet_UsersInRoles .

关于asp.net - 合并两个 ASP.NET 成员资格数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5563023/

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