내 모델에서 내 주요 직원 모델과 외래 키 관계가있는 정보를 얻으려고합니다. 각 모델을 개별적으로 매핑하면 문제없이 정상적으로 액세스 할 수 있지만 이렇게하려면 여러 웹 페이지를 방문해야합니다.System.Data.SqlClient.SqlException : 잘못된 열 이름 'phone_types_phone_type_id'
필자는 내 모델 중 몇 가지를 본질적으로 단일 컨트롤러로 병합하여 이러한 방식으로 작업하려고합니다. 분명히 phone_types_phone_type_id
가 나타납니다 유일한 위치 내 마이그레이션 코드에, 내 코드를 검색 한 후
System.Data.SqlClient.SqlException: Invalid column name 'phone_types_phone_type_id'.
: 나는이 모델에 액세스 할 때 불행하게도, 나는 이상한 오류가 발생합니다. 나는 믿을 수 없을 정도로 C#과 Asp.Net에서 새롭다. 그래서 어떤 도움을 주시면 감사하겠습니다.
[Table("employee.employees")]
public partial class employees1
{
public employees1()
{
employee_email_manager = new List<email_manager>();
employee_employment_history = new HashSet<employment_history>();
employee_job_manager = new HashSet<job_manager>();
employee_phone_manager = new HashSet<phone_manager>();
this.salaries = new HashSet<salary>();
}
[Key]
public int employee_id { get; set; }
[Display(Name="Employee ID")]
public int? assigned_id { get; set; }
[Display(Name="Web User ID")]
public int? all_id { get; set; }
[Required]
[StringLength(50)]
[Display(Name="First Name")]
public string first_name { get; set; }
[StringLength(50)]
[Display(Name="Last Name")]
public string last_name { get; set; }
[Column(TypeName = "date")]
[Display(Name="Birthday")]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:MM/dd/yyyy}")]
public DateTime birth_day { get; set; }
[Required]
[StringLength(1)]
[Display(Name="Gender")]
public string gender { get; set; }
[Required]
[StringLength(128)]
[Display(Name="Social")]
public string social { get; set; }
[Required]
[StringLength(128)]
[Display(Name="Address")]
public string address_line_1 { get; set; }
[StringLength(50)]
[Display(Name="Suite/Apt#")]
public string address_line_2 { get; set; }
[Required]
[StringLength(40)]
[Display(Name="City")]
public string city { get; set; }
[Required]
[StringLength(20)]
[Display(Name="State")]
public string state { get; set; }
[Required]
[StringLength(11)]
[Display(Name="Zip")]
public string zip { get; set; }
[Column(TypeName = "date")]
[Display(Name="Hire Date")]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:MM/dd/yyyy}")]
public DateTime hire_date { get; set; }
[Column(TypeName = "date")]
[Display(Name="Separation Date")]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:MM/dd/yyyy}")]
public DateTime? termination_date { get; set; }
[StringLength(70)]
[Display(Name="Emergency Contact Name")]
public string emergency_contact_name { get; set; }
[StringLength(15)]
[Display(Name = "Emergency Contact Number")]
public string emergency_contact_phone { get; set; }
[Display(Name = "Notes")]
public string notes { get; set; }
public virtual ICollection<phone_manager> employee_phone_manager { get; set; }
[Table("employee.phone_manager")]
public partial class phone_manager
{
[Key]
public int phone_id { get; set; }
public int employee_id { get; set; }
[Required]
[StringLength(15)]
public string phone_number { get; set; }
[StringLength(5)]
public string phone_extension { get; set; }
public int phone_type { get; set; }
[Column(TypeName = "date")]
public DateTime date_added { get; set; }
public bool deleted { get; set; }
public virtual employees1 employees1 { get; set; }
public virtual phone_types phone_types { get; set; }
}
[Table("employee.phone_types")]
public partial class phone_types
{
public phone_types()
{
phone_manager = new HashSet<phone_manager>();
}
[Key]
public int phone_type_id { get; set; }
[Required]
[StringLength(50)]
public string phone_type_name { get; set; }
public virtual ICollection<phone_manager> phone_manager { get; set; }
}
}
그리고 내보기에서 관련 코드 : 여기
는 내 모델에 대한 코드입니다 @foreach (var item in Model.employee_phone_manager)
{
@Html.DisplayFor(modelItem => item.phone_number);
@: -
@Html.DisplayFor(modelItem => item.phone_type);
<br />
}
가 편집 내가 문제를 발견 할 수 있습니다,하지만 난 확실히거야 다른 옵션이있는 경우 더 많은 정보를 입력하십시오. 내 해결책은 다음을 추가하고 추가하는 것이 었습니다.이 라인 바로 위에 [ForeignKey("phone_type")]
: public virtual phone_types phone_types { get; set; }
이 내 phone_manager
클래스에 추가되었습니다.