如果我的方法完全错误,请说出来。
我正在使用 ASP.Net Identity 2.0。我已经自定义了类(在我的 MembershipDbContext 中),特别是我有 2 个类:
1. CustomRoles (in fluent api renamed table to "App_CustomRoles")
2. CustomUserRoles (in fluent api renamed table to "App_CustomUserRoles")
我有另一个上下文类,ApplicationDbContext,在这个讨论中与应用程序的菜单系统有关。各个菜单项与 CustomRoles 有关系。也就是说,只有特定角色类型的用户才能看到它们:
public class DbMenu
{
// Backing Fields
...
private ICollection<DbMenuRole> _dbMenuRoles;
public DbMenu()
{
...
_dbMenuRoles = new Collection<DbMenuRole>();
}
...
public virtual ICollection<DbMenuRole> DbMenuRoles
{
get { return _dbMenuRoles; }
set { _dbMenuRoles = value; }
}
public class DbMenuRole
{
...
// Foreign Keys
[Required]
public long FK_RoleId { get; set; }
...
// Associations
[ForeignKey("FK_RoleId")]
public virtual CustomRole CustomRole { get; set; }
...
}
当我运行迁移然后为每个上下文更新数据库时,我的 sql db 有 4 个表,其中 2 个是重复的:
正确的(来自 MembershipDbContext):
1. App_CustomRoles
2. App_CustomUserRoles
不正确的(来自 ApplicationDbContext):
1. CustomRoles
2. CustomUserRoles
我希望将会员资格和应用程序的导航系统保留在单独的上下文类中。我尝试在应用程序上下文中使用 fluent API 将不正确的表设置为恰当命名的正确表,但这会导致构建错误。
如何在将课程保存在单独的上下文文件中的同时更正此问题?
谢谢你。