Я хочу назначить пользователь My Project Но есть проблема, когда я запускаю его я получаю ошибкуПрисвоить пользователь к списку проектов В Asp.net Mvc 5 Применения
Несколько наборов объектов для каждого типа не поддерживаются. Наборы объектов «ApplicationUsers» и «Users» могут содержать экземпляры типа «ProjectManagementSystem.Models.ApplicationUser». Это в моих IdentityModels.cs
public class ApplicationUser
: IdentityUser<string, ApplicationUserLogin,
ApplicationUserRole, ApplicationUserClaim>
{
public ApplicationUser()
{
this.Id = Guid.NewGuid().ToString();
}
public async Task<ClaimsIdentity>
GenerateUserIdentityAsync(ApplicationUserManager manager)
{
var userIdentity = await manager
.CreateIdentityAsync(this, DefaultAuthenticationTypes.ApplicationCookie);
return userIdentity;
}
public string Name { get; set; }
public string LastName { get; set; }
public string User_name { get; set; }
public string City { get; set; }
public virtual ICollection<Project> Projects { get; set; }
}
Это также от IdentityModels.cs
modelBuilder.Entity<Project>()
.HasMany<ApplicationUser>(c => c.UsersOnProjects).WithMany(i => i.Projects)
.Map(t => t.MapLeftKey("ProjectID")
.MapRightKey("Id")
.ToTable("Projects"));
И это:
public System.Data.Entity.DbSet<ProjectManagementSystem.Models.Clients> Clients { get; set; }
public System.Data.Entity.DbSet<ProjectManagementSystem.Models.ProjectCategory>
ProjectCategories { get; set; }
public System.Data.Entity.DbSet<ProjectManagementSystem.Models.Project> Projects
{ get; set; }
public System.Data.Entity.DbSet<ProjectManagementSystem.Models.ApplicationUser>
ApplicationUsers { get; set; }
Теперь это моя модель проекта
public class Project
{
[Key]
public int ProjectId { get; set; }
[Required]
[Display(Name = "Project Name")]
public string ProjectTitle { get; set; }
[Required]
public string Description { get; set; }
public string Url { get; set; }
public int ProjectCategoryId { get; set; }
[Required]
[Display(Name = "Project Category")]
public virtual ProjectCategory ProjectCategory { get; set; }
public int ClientId { get; set; }
public virtual Clients Client { get; set; }
public string Budget { get; set; }
[Display(Name = "Start Date")]
public string StartDate { get; set; }
[Display(Name = "End Date")]
public string EndDate { get; set; }
public string UserId { get; set; }
public virtual ApplicationUser User { get; set; }
public virtual ICollection<ApplicationUser> UsersOnProjects { get; set; }
}
Я попробовал все, как удаление этой части
public System.Data.Entity.DbSet<ProjectManagementSystem.Models.ApplicationUser>
ApplicationUsers { get; set; }
Изменение мой ProjectController
ViewBag.UserId = new SelectList(db.ApplicationUsers, "Id", "Name");
To
ViewBag.UserId = new SelectList(db.Users, "Id", "Name");
и многое другое, но я всегда получаю ту же ошибку .... Я создал роли пользователей и групп из этой ссылки http://typecastexception.com/post/2014/08/10/ASPNET-Identity-20-Implementing-Group-Based-Permissions-Management.aspx
Возможно, есть что-то с этим, что дает мне ошибку. Я создаю мой контроллер с помощью entityframwork
В отличие от сайтов на форуме мы не используем «Спасибо» или «Любая помощь оценена» или подписи на [so]. См. «[Должны ли« Привет »,« спасибо », теги и приветствия удалены из сообщений?] (Http://meta.stackexchange.com/questions/2950/should-hi-thanks-taglines-and-salutations-be -removed-from-posts). –
Вы используете отдельный пользовательский контекст БД или расширяете встроенный контекст идентификации? –
Я не использую отдельный контекст db. У меня расширен расширенный контекст идентификации. – error505