2016-08-22 2 views
0

У меня есть StoreUser идентичность в моем ASP.NET Web API проекта и StoreDbContext Где есть Product модель и DbSetASP.NET Web API Идентичность свойство от другого DbContext

это мой Product

public class Product 
{ 
    public int Id { get; set; } 
    public string CodeName { get; set; } 
    public decimal Cost { get; set; } 
    public decimal Discount { get; set; } 
    public int SoldCount { get; set; } 
    public string SellerId { get; set; } 
    public virtual StoreUser Seller { get; set; } 
    public virtual List<ProductImage> Images { get; set; } 
    public virtual List<Category> Categories { get; set; } 
    public virtual List<ProductText> Texts { get; set; } 
} 

это мой StoreDbContext

public class StoreDbContext: DbContext 
{ 
    public StoreDbContext() : base("MyCoupon") 
    { 
     Database.SetInitializer(new StoreDbInitialier()); 
    } 

    public DbSet<Product> Products { get; set; } 
    public DbSet<ProductText> ProductTexts { get; set; } 
    public DbSet<ProductImage> Images { get; set; } 
    public DbSet<CategoryText> CategoryTexts { get; set; } 
    public DbSet<Category> Categories { get; set; } 
    public DbSet<Language> Languages { get; set; } 
} 

и thi s мой StoreUser класс

public class StoreUser : IdentityUser 
{ 
    public virtual List<Product> Products { get; set; } = new List<Product>(); 
} 

так что пользователь может иметь продукты

, но когда я хочу, чтобы добавить их с

[Authorize(Roles = "Seller")] 
    public IHttpActionResult Post(Product product) 
    { 
     var userId = HttpContext.Current.User.Identity.GetUserId(); 
     var userManager = HttpContext.Current.GetOwinContext().GetUserManager<StoreUserManager>(); 

     var user = userManager.FindById(userId); 
     product.Seller = user; 
     _db.Products.Add(product); 
     _db.SaveChanges(); 
     return Ok(product); 
    } 

Я получаю ошибку

error

+0

Запишите/скопируйте ошибку. не смотрите. – Nkosi

+0

Вставьте текст сообщения об ошибке в свой пост, пожалуйста. – granadaCoder

ответ

0

вам нужно позвонить, на лету ur StoreDbContext класс

protected override void OnModelCreating(DbModelBuilder modelBuilder) 
{ 
    base.OnModelCreating(modelBuilder); 
} 
+0

Привет, спасибо за ответ, но у меня такая же ошибка –

+0

@ArenHovsepyan проверить этот ответ http://stackoverflow.com/questions/19913447/user-in-entity-type-mvc5-ef6 – Overmachine

Смежные вопросы