2011-08-25 3 views
1

저장소 패턴이있는 XML 문서에 CRUD 기능이있는 앱을 만들었습니다. 각 저장소 클래스에는 4 개의 모델 (4 xml 파일)이 있습니다. 이전에는 생성자에서 XDocument 객체로 읽은 문서가 4 xml에 불과했습니다.MVC3 기본 C# 프로그래밍 질문 - 동적 CRUD XML 앱 - 문제

itemData = XDocument.Load(HttpContext.Current.Server.MapPath("~/App_Data/Items/item1.xml")); 

지금은 XML 파일을 동적으로 만들 싶습니다, 그래서 무제한 XMLS

그래서 뭐죠 가장 좋은 방법

을 읽을 수 있습니까? 두 번째 생성자를 만들고 url에서 매개 변수를 전달 하시겠습니까? 다음과 같은 내용 :

 public ItemRepository() 
      { 
      } 

      public ItemRepository(string xml) 
      { 
      itemData = XDocument.Load(HttpContext.Current.Server.MapPath("~/App_Data/Items/" + xml + ".xml")); 
       .... 
      } 

다른 제안 사항이 있습니까? 이걸로 모델 NullReferenceException 얻을.

+0

어. Btw. 응용 프로그램은이 안내서에서 가져온 것입니다. http://www.gregjopa.com/2011/04/crud-operations-with-xml-data-in-asp-net-mvc-3/ –

+0

명명 규칙이란 무엇입니까? ? 예를 들어 엔티티 당, 사용자별로 별도의 XML 파일을 작성하고 있습니까? –

답변

1

리포지토리가 XML 파일을 가져 오기 위해 전체 경로를 직접 받아 들일 수 있다는 점을 제외하고는 나에게 아무런 문제가 보이지 않습니다. 그것을 조금 깔끔하게 정리하는 방법 일 것입니다.

NullReferenceException처럼 철저한 디버그 만 도움이 될 수 있습니다. 첫 번째 진술이 작동했다면, 적어도 다음 코드를 작성해서는 안되는 이유를 알 수 없습니다. 당신에게

행운을 빌어 요,

+0

NullReferenceException은 두 번째 생성자를 완전하게 무시하므로 아무 것도 모델에 바인딩되지 않으므로 NullReferenceException이 발생합니다. –

+0

다행 이군요. 이 문제에 더 많은 문제가있는 경우 새로운 질문을 게시해야합니다. – Arthis

+0

해결 방법을 만들었습니다. 생성자의 코드를 모든 CRUD 메서드에 넣었습니다. http://stackoverflow.com/questions/7244014/nullreferenceexception-while-using-xelement –