2014-07-16 2 views
0

다음 정보를 사용하여 저장 기능에 정보를 전달합니다.밑받침 xml 값에 액세스하는 방법

List<XElement> listElements = new List<XElement>(); 

    listElements.Addnew XElement(@"TextBox", new XElement("name"), 
          new XElement("Type", "System.String"), 
           new XElement("displayName", ""), 
           new XElement("length", "12"), 
           new XElement("key", false), 
           new XElement("required", false))); 

    listElements.Add(new XElement(@"ClassficationEnum", new XElement("name","TestForm"), 
          new XElement("Type", "System.String"), 
           new XElement("displayName", "TestForm"), 
           new XElement("length", "12"), 
           new XElement("key", false), 
           new XElement("required", false))); 

 portalContext.UpdateFormBuilder(formToUpdate, strName.ToString(), listElements.ToString()); 

을 다음과 나는 데이

  var q = from forms in portalEntities.FormBuilders 
        where forms.Name == formName       
        select forms; 


      List<FormBuilder> formBuilderRecords = q.ToList(); 
      foreach (FormBuilder formsBuilder in formBuilderRecords) 
      { 
       formsBuilder.Name = formName; 
       formsBuilder.ExtraFields = xml.ToString(); 
       formsBuilder.title = Title; 



      } 


      return SaveChanges(); 

문제를 사용하고 내 엔티티에 저장하는 나는 다음 업데이트 명령에 전달하고

하는 것입니다 그것 단지 데이터베이스에 다음을 저장하는 대신이 값 대신 모든 값을 가져올 수 있습니다.

System.Collections.Generic.List`1는 [System.Xml.Linq.XElement]

답변

0

당신은 XML 마크 업의 얻을 XElement.ToString()를 호출 할 수 있지만, List.ToString()를 호출 만이 유형의 인쇄됩니다. 따라서 문제는 기본 XML 값을 가져 오는 것이 아니라 XML 값을 올바르게 저장하는 것입니다.

..... 
var root = new XElement("root", listElements); 
..... 
portalContext.UpdateFormBuilder(formToUpdate, strName.ToString(), root.ToString()); 
: 당신은 당신이 단일 루트 요소에 넣어 필요가 데이터베이스에 단일 XML과 같은 모든 XElement의 저장을 의미하는 경우

관련 문제