Si mon approche est incorrecte, veuillez en parler.Entity Framework 6.0, Identité ASP.Net 2.0, Migrations multiples, classes associées
J'utilise ASP.Net Identity 2.0. Je personnalisent les cours (dans mon MembershipDbContext), en particulier, j'ai 2 classes:
1. CustomRoles (in fluent api renamed table to "App_CustomRoles")
2. CustomUserRoles (in fluent api renamed table to "App_CustomUserRoles")
J'ai une autre classe de contexte, ApplicationDbContext que cette discussion porte sur le système de menus de l'application. Les éléments de menu respectifs ont une relation avec CustomRoles. C'est-à-dire, seuls les utilisateurs d'un certain type de rôle sera en mesure de les voir:
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; }
...
}
Quand je lance la migration et mettre à jour la base de données pour chaque contexte, mon db sql dispose de 4 tables dont 2 sont doubles:
les corrects (de MembershipDbContext):
1. App_CustomRoles
2. App_CustomUserRoles
Ones incorrectes (De ApplicationDbContext):
1. CustomRoles
2. CustomUserRoles
Je préférerais garder le système de navigation de l'adhésion et de l'application dans des classes de contexte séparées. J'ai essayé API couramment dans le contexte de l'application pour définir les tables incorrectes sur les tables correctes correctement nommés, mais cela a causé une erreur de construction.
Comment puis-je corriger cela tout en conservant mes classes dans des fichiers de contexte séparés?
Merci.
Je ne sais pas si c'est le « droit chemin », mais je peux vous dire que je fini par avoir faire la même chose pour des problèmes similaires. http://stackoverflow.com/a/23221018/2441808 – Casey