1

저는 Entity Framework를 사용하여 MVC 2를 처음 사용합니다. 두 개의 테이블 Company {ID int identity PK, Name nvarchar} 및 User {ID int ID PK, UserName nvarchar, CompanyID int FK} 테이블이 있습니다. 사용자와 회사간에 외래 키가 존재합니다.MVC 2 - 부모/자식 엔터티를 사용할 때 HTML 입력 필드의 이름 특성

ADO.NET 엔터티 데이터 모델, 컨트롤러 및 레코드를 삽입하기위한보기를 생성했습니다. 내 HTML 양식에는 회사 및 사용자 이름 필드가 있으며 아이디어는 회사 저장을 클릭하면 사용자가 데이터베이스에 삽입됩니다. 똑바로 들리는군요.

내 질문은 다음과 같습니다 :
내 '사용자'엔터티에서 파생 된 강력한 형식의보기를 만들었습니다. html.TextBoxFor (model => model.Organisation.Name) html 도우미 을 사용하고 있는데이 입력 필드의 HTML 이름 속성은 'Organisation.Name'입니다. 내 문제는이 점이 JQuery에서 속성으로 간주하는 모든 종류의 문제를 던집니다. 읽은 이름을 변경하려면 DataAnnotations를 사용할 수 있지만 엔터티 디자이너를 사용했기 때문에이 클래스는 버디 클래스를 사용합니다. 이 입력 필드에서 HTML 이름 속성을 변경하기 위해 약간의 잔인한 행위처럼 보입니다. 이 방법으로 접근하고 있습니까? 아니면 여기에 뭔가 빠졌습니까?

도움 주셔서 감사합니다.

답변

1

나는 한발 물러서서 데이터를 구조화하는 방식을 재검토하여이를 해결했습니다. 최종 결과는 내 비즈니스 엔티티가 내 데이터베이스 스키마와 너무 밀접하게 결합되어 있고 내가 작업하고있는 도메인을 반영하지 않았기 때문에 내 앱을 다시 디자인했습니다. POCO를 사용하여 내 도메인을 더 잘 반영하는 비즈니스 엔티티를 나타내 었으며,이 시나리오에서 관계형 구조를 '평면화'하는 효과가있었습니다. 모델 대신. 조직도. 이름 이제 model.OrganisationName이 있습니다.