문제

'FirstName'및 'lastName'속성이있는 '사람'객체가 있습니다. '사람'은 또한 '전화'객체와 1N 관계를 가지고 있습니다. '전화'객체에는 '번호'속성이 있습니다. 따라서 사람은 여러 전화 번호를 가질 수 있습니다.

'PersonController'에는 새로운 '사람'을 만들 수있는 양식을 보여주기 위해 강하게 시야를로드하는 'Create'액션이 있습니다. 그러나 그 사람의 속성 외에도 첫 번째 전화 자식 객체를 입력 할 수 있기를 원합니다.

이 코드는 나에게 nullReferenceException을 제공합니다.

Html.TextBox("Number", Model.Person.Phones.SingleOrDefault().Number)

내 행동 방법에서 나는 다음과 같은 견해를 부릅니다.

Dim p As New Person
Return View(p)

그렇다면 단일 뷰에서 객체와 첫 번째 자식 객체를 어떻게 만들 수 있습니까?

도움이 되었습니까?

해결책

전화 번호 객체가 설정되지 않았고 실제로는 NULL이기 때문에 그렇지 않습니까?

따라서 새 사람을 만들 때 새 전화 번호 객체도 만들어야합니다.

나는 이렇게 좋아하고 내 VB는 녹슬었다.

Dim p as New person
Dim pp as new Phones
p.Phones.Add (pp)
return View(p)

따라서 새로운 사람을 만들 때 새로운 사람에게 새 전화기를 만들고 첨부해야합니다.

위의 코드를 사람 객체의 생성으로 리팩토링하여 새로운 사람에게 항상 새 전화 객체가 첨부되도록함으로써이를 더 잘 수행 할 수 있습니다.

이것이 말이 되나요? 아니면 내가 기지에서 벗어나나요?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top