Хочу создать приложение по типу такого https://blogs.msdn.microsoft.com/webdev/2013/10/20/building-a-simple-todo-application-with-asp-net-identity-and-associating-users-with-todoes/, т.е. когда есть пользователи и они создают сущности
есть класс Store
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace RolesIdentityApp.Models
{
public class Store
{
public int Id { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public string Address { get; set; }
public int LikesCount { get; set; }
public virtual ApplicationUser User { get; set; }
}
}
модель IdentityModels.cs
namespace RolesIdentityApp.Models
{
// Чтобы добавить данные профиля для пользователя, можно добавить дополнительные свойства в класс ApplicationUser. Дополнительные сведения см. по адресу: http://go.microsoft.com/fwlink/?LinkID=317594.
public class ApplicationUser : IdentityUser
{
public int Age { get; set; }
public string About { get; set; }
public byte[] ImageData { get; set; }
public string ImageMimeType { get; set; }
public int Likes { get; set; }
public virtual ICollection<Store> Stores { get; set; }
public async Task<ClaimsIdentity> GenerateUserIdentityAsync(UserManager<ApplicationUser> manager)
{
// Обратите внимание, что authenticationType должен совпадать с типом, определенным в CookieAuthenticationOptions.AuthenticationType
var userIdentity = await manager.CreateIdentityAsync(this, DefaultAuthenticationTypes.ApplicationCookie);
// Здесь добавьте утверждения пользователя
return userIdentity;
}
}
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public ApplicationDbContext()
: base("DefaultConnection", throwIfV1Schema: false)
{
}
public DbSet<Store> Stores { get; set; }
public static ApplicationDbContext Create()
{
return new ApplicationDbContext();
}
}
}
и контроллер
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<ActionResult> Create([Bind(Include = "Id,Name,Description,Address,LikesCount")] Store store)
{
var currentUser = await UserManager.FindByIdAsync(User.Identity.GetUserId());
if (ModelState.IsValid)
{
store.User = currentUser;
db.Stores.Add(store);
await db.SaveChangesAsync();
return RedirectToAction("Index");
}
return View(store);
}
когда создаю объект пишет На объект сущности не могут ссылаться несколько экземпляров интерфейса IEntityChangeTracker http://prntscr.com/ipzao0 Что не такделаю?
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости