我使用以下内容将信息传递给保存功能。
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 :(得分:0)
您可以在.ToString()
上致电XElement
以获取其XML标记,但在.ToString()
上调用List
只能打印它的类型。因此,您的问题不是获取基础XML值,而是正确保存XML值。
如果您打算将所有XElement
保存为数据库中的单个XML,则需要将它们放在单个根元素中:
.....
var root = new XElement("root", listElements);
.....
portalContext.UpdateFormBuilder(formToUpdate, strName.ToString(), root.ToString());