2014-10-21 4 views
0

Microsoft Entity Framework 및 MVC를 사용하여 일부 속성이 SQL Server DB 내의 테이블에 속하고 다른 속성이 SQL Server의 XML 열에서로드되는 엔터티를 구현했습니다. 동일한 테이블에서 XML에 저장된 일부 값을 MVC 뷰 및 컨트롤러에 표시하기 위해 속성을 만들고 싶습니다.엔터티 및 MVC의 하이브리드 구현

프로세서 및 램과 같은 테이블에서 열을로드하는 엔티티 "랩톱"이 있다고 가정 해 보겠습니다. 유연성을 위해이 테이블에는 더 많은 데이터가 포함 된 XML 열이 있습니다. "랩톱"엔터티의 속성을 사용하여 DVD, 블루투스, USB 등과 같은 XML 내의 값 중 일부를 공개하고 싶습니다.

"Laptop"이라는 이름의 부분 클래스이며, 추가 속성의 유지 보수를위한 루틴을 선언하고 추가하려고 시도하지만 작동하지 않지만이 부분 클래스 내에서 선언 된 추가 속성은 upper 속성의 "Laptop"엔터티에 표시되지 않습니다 MVC와 같은 레이어.

내 문제는 XML에서 값을 추출하는 방법과 관련이 없으며 엔터티를 사용자 지정 속성과 결합하는 방법에 더 의존하고 엔티티는 모델을 자동 업데이트하여 만들어지며 다른 속성을 어딘가에 정의하는 방법이 필요합니다. 그렇지 않으면 디자인 타임에 IDE에 의해 자동으로 삭제되지 않기 때문에 첫 번째 생각은 부분 클래스입니다.

아이디어가 있으십니까?

+0

문제를 재현하는 최소한의 코드를 보여주십시오. –

답변

0

dynamic 개체가 필요하므로 ExpandoObject 클래스를 사용해보십시오. XML 열에서 데이터를 가져 와서 fieldname, fieldvalue 배열 또는 다른 동적 개체로 변환하기 위해 LINQ 식 트리와 함께 ExpandoObject을 사용해야 할 수 있습니다.

Here's an example 귀하의 사용 사례에 맞을 수도 있습니다 :