주문 모음을 보관하기 위해 응용 프로그램 사용자 (코드 우선 사용)를 연장하려고하는데 오류가 발생합니다.응용 프로그램 사용자를 확장하여 주문 모음을 보관하는 방법은 무엇입니까?
내 주문 클래스는
public class Order
{
public Order()
{
OrderDetails = new HashSet<OrderDetails>();
}
public int ID { get; set; }
public DateTime OrderDate { get; set; }
public string UserId { get; set; }
public bool IsDelivered { get; set; }
public bool IsReturned { get; set; }
public virtual ApplicationUser User { get; set; }
public virtual ICollection<OrderDetails> OrderDetails { get; set; }
}
내가이
public class ApplicationUser : IdentityUser
{
public async Task<ClaimsIdentity> GenerateUserIdentityAsync(UserManager<ApplicationUser> manager)
{
// Note the authenticationType must match the one defined in CookieAuthenticationOptions.AuthenticationType
var userIdentity = await manager.CreateIdentityAsync(this, DefaultAuthenticationTypes.ApplicationCookie);
// Add custom user claims here
return userIdentity;
}
public string FirstName { get; set; }
public string LastName { get; set; }
public string CompanyName { get; set; }
public string Profession { get; set; }
public string TaxAuthority { get; set; }
public string TaxNumber { get; set; }
public string Address { get; set; }
public string PostalCode { get; set; }
public string City { get; set; }
public string Region { get; set; }
public string Country { get; set; }
public string Phone { get; set; }
public string MobilePhone { get; set; }
public bool NewsLetterSubscribe { get; set; } = false;
public DateTime TimeStamp { get; set; } = DateTime.Now;
public ICollection<Order> Orders { get; set; }
}
같은 응용 프로그램 사용자를 확장하기 위해 노력하고있어 그리고 난 다음 오류 받고 있어요 :
QCM을합니다. Models.IdentityUserLogin :: EntityType 'IdentityUserLogin'에 정의 된 키가 없습니다. 이 EntityType의 키를 정의하십시오.
QCMS.Models.IdentityUserRole :: EntityType 'IdentityUserRole'에 정의 된 키가 없습니다. 이 EntityType의 키를 정의하십시오.
IdentityUserLogins : EntityType : EntitySet 'IdentityUserLogins'은 정의 된 키가없는 'IdentityUserLogin'유형을 기반으로합니다.
IdentityUserRoles : EntityType : EntitySet 'IdentityUserRoles'는 정의 된 키가없는 'IdentityUserRole'유형을 기반으로합니다.
이 문제를 해결할 수 있도록 도와주세요.
업데이트 : 이dB 컨텍스트를 사용하고
. 개인 사용자 계정 (프로젝트가 처음 생성 될 때)에 제공된 것이고, 내 프로젝트의 다른 모든 데이터베이스 클래스에 대해 "qvModel"이라는 두 번째 이름입니다.
public partial class qvModel : DbContext
{
public qvModel()
: base("name=qvModel")
{
}
//APPSETTINGS
public virtual DbSet<AdminLog> AdminLog { get; set; }
public virtual DbSet<WebLog> WebLog { get; set; }
//LANGUAGES
public virtual DbSet<Language> Languages { get; set; }
.
.
.
public virtual DbSet<Order> Orders { get; set; }
public virtual DbSet<OrderDetails> OrderDetails { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
// Precision attribute for decimals
Precision.ConfigureModelBuilder(modelBuilder);
modelBuilder.Entity<Language>()
.HasMany(e => e.Brochures)
.WithRequired(e => e.Language)
.WillCascadeOnDelete(true);
.
.
.
modelBuilder.Entity<Order>()
.HasMany(c => c.OrderDetails)
.WithRequired(c => c.Order)
.WillCascadeOnDelete(true);
modelBuilder.Entity<ApplicationUser>()
.HasMany(c => c.Orders)
.WithRequired(c => c.User)
.WillCascadeOnDelete(true);
base.OnModelCreating(modelBuilder);
}
}
IdentityUserLogin 유형은 어디에 있습니까? – Haytam
내 프로젝트에 IdentityUserLogin, IdentityUserRole 유형이 없습니다. 내 데이터베이스에 두 개의 다른 컨텍스트를 사용하고 있습니다. 첫 번째는 프로젝트를 만들 때 개별 사용자 계정 인증을 제공하고 두 번째 클래스는 내 클래스의 컨텍스트입니다. – Stelios