Я использую asp.net mvc identity. Я пытаюсь установить отношения между приложением пользователя и блогом. Но кое-что мне не хватает, и я получаю ошибку.
Вот класс сущностей блога:
public class Blog
{
public int Id { get; set; }
public string Title { get; set; }
public string Content { get; set; }
public string Img { get; set; }
public bool IsApproved { get; set; }
public int ReadingCount { get; set; }
public int CategoryId { get; set; }
[DataType(DataType.Date)]
public DateTime EnrollmentDate { get; set; }
public Category Category { get; set; }
public List<Comment> Comments { get; set; }
public string UserId { get; set; }
public ApplicationUser ApplicationUser { get; set; }
}
И модель блога:
public class BlogModel
{
public int Id { get; set; }
public string Title { get; set; }
public string Content { get; set; }
public string Img { get; set; }
public bool IsApproved { get; set; }
public int ReadingCount { get; set; }
public int CategoryId { get; set; }
public string Category { get; set; }
public string isim { get; set; }
public string user { get; set; } // about user
public DateTime EnrollmentDate { get; set; }
public List<CommentModel> Comments { get; set; }
}
и приложение User для идентификации:
public class ApplicationUser: IdentityUser
{
public string Name { get; set; }
public string Surname { get; set; }
public string Yenialan { get; set; }
public List<Blog> Bloglar { get; set; }
}
И модель для приложения пользователя
public class userModel
{
public string Name { get; set; }
public List<BlogModel> Bloglar { get; set; }
}
DataContext:
public class DataContext: DbContext
{
public DataContext() :base("dataConnection")
{
}
public DbSet<Blog> Blogs { get; set; }
public DbSet<Category> Categories { get; set; }
public DbSet<Comment> Comments { get; set; }
public DbSet<ApplicationUser> ApplicationUsers { get; set; }
}
Пока все идеально. Таблицы User и Roles составлены. Он также состоит из блогов (я имею в виду таблицы SQL)
но я получаю сообщение об ошибке при запуске домашнего контроллера.
запущенный код выглядит так:
public class HomeController : Controller
{
DataContext context = new DataContext();
public ActionResult Index()
{
var bloglar = context.Blogs
.Where(i => i.IsApproved == true)
.Select(i => new BlogModel()
{
Id = i.Id,
Title = i.Title,
Img = i.Img,
EnrollmentDate = i.EnrollmentDate,
CategoryId = i.CategoryId,
Category = i.Category.Name,
user = i.ApplicationUser.Name
}).ToList();
return View(bloglar);
}
}
Вот ошибка:
System.Data.Entity.ModelConfiguration.ModelValidationException: 'One or more validation errors were detected during model generation:
BlogApp.Entity.IdentityUserLogin: : EntityType 'IdentityUserLogin' has no key defined. Define the key for this EntityType.
BlogApp.Entity.IdentityUserRole: : EntityType 'IdentityUserRole' has no key defined. Define the key for this EntityType.
IdentityUserLogins: EntityType: EntitySet 'IdentityUserLogins' is based on type 'IdentityUserLogin' that has no keys defined.
IdentityUserRoles: EntityType: EntitySet 'IdentityUserRoles' is based on type 'IdentityUserRole' that has no keys defined.
'
Я сделал много поисков в интернете по этой ошибке. Решения, которые я нашел, не сработали для меня. Как вы думаете, это решение этой ошибки?
Заранее спасибо за помощь.