class Employee { [DatabaseGenerated(DatabaseGeneratedOption.None)] [Key] public int EmployeeID { get; set; } [Required] [StringLength(50)] public string FirstName { get; set; } [Required] [StringLength(50)] public string LastName { get; set; } [StringLength(50)] public string MiddleName { get; set; } public virtual EmployeeDetail EmployeeDetail { get; set; } } class EmployeeDetail { [DatabaseGenerated(DatabaseGeneratedOption.None)] [Key, ForeignKey("Employee")] public int EmployeeID { get; set; } [StringLength(10)] public string Gender { get; set; } [StringLength(255)] public string EmailAddress { get; set; } [StringLength(50)] public string phoneNumber { get; set; } public virtual Employee Employee { get; set; } } class dbContext:DbContext { public dbContext() : base("defaultConnectionString") { } public DbSet<Employee> Employees { get; set; } public DbSet<EmployeeDetail> EmployeeDetails { get; set; } }
متن خطا:
Unable to determine the principal end of the 'efTest.EmployeeDetail_Employee' relationship. Multiple added entities may have the same primary key.
به شکل زیر عمل کنید:
class dbContext : DbContext { public dbContext() : base("defaultConnectionString") { } public DbSet<Employee> Employees { get; set; } public DbSet<EmployeeDetail> EmployeeDetails { get; set; } protected override void OnModelCreating(DbModelBuilder modelBuilder) { base.OnModelCreating(modelBuilder); modelBuilder.Entity<Employee>().HasOptional(x => x.EmployeeDetail).HasRequired(x => x.Employee); } }
class EmployeeDetail { [DatabaseGenerated(DatabaseGeneratedOption.None)] public int Id { get; set; } [StringLength(10)] public string Gender { get; set; } [StringLength(255)] public string EmailAddress { get; set; } [StringLength(50)] public string phoneNumber { get; set; } public virtual Employee Employee { get; set; } }
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)