customer
중 하나 및 address
중 하나입니다.Entity Framework 코드 첫 번째 고객 및 주소 등록
필수 기능 고객이 등록하면 이름, 전화 번호 및 주소 세부 정보와 같은 개인 세부 정보를 같은보기에 입력합니다.
현재 기능 현재 EF 스캐 폴딩은 선택할 수있는 주소 드롭 다운 목록을 제공합니다.
현재 코드
public class Customer
{
public int CustomerId { get; set; }
public string FirstName { get; set; }
[Required]
public string Surname { get; set; }
[Required]
...
Customer Fields
...
public int AddressId { get; set; }
public virtual Address Address { get; set; }
}
public class Address
{
[Key]
public int AddressId { get; set; }
...
Address Fields
...
// Navigation Properties
public virtual List<Customer> Customer { get; set; }
}
데이터베이스 시드 할 때 다음과 같이, 나는 그렇게 할 수
:
new List<Customer>
{
new Customer
{
** Customer Fields ** ,
Address = new Address { ** Address Fields ** }
}
}.ForEach(c => context.Customers.Add(c));
base.Seed(context);
내 생각을
내 초기 생각은 내가 만들어야한다는 것이다 본질적으로 컴포지트 인 CustomerWithAddress
이라는 세 번째 데이터 모델 it는 customer
및 address
모델입니다. 이렇게하면 강력한 형식의 뷰를 비계 할 수 있습니다.
또는 제어기가 2 개의 모델을 1보기로 전달할 수 있습니까?
이것이이 문제를 해결하는 가장 좋은 방법인지 또는 실제로 가능한지는 알 수 없습니다. 이견있는 사람?
실제로는'Address' 속성을로드하기 위해'.Include()'를 사용해야 할 수도 있습니다; EF가 게으른 로딩 일이면,'model.Address'는 뷰에 도달하면 null이 될 수 있습니다. – anaximander
좋은 지적. 나는 메모를 할거야. –