c# - populating an Entity DataModel from XML using Linq -
i have c# .net 3.5 application using ado.net entity data model. loading contents given database entry xml file. what's best method convert list<string>
xml entitycollection<>
?
the xml looks this:
<task> <name>test task</name> <serialnumbers> <serial>12345678901</serial> <serial>98765432101</serial> </serialnumbers> </task>
the database looks this:
task { [int, pk]taskid } criteria_serialnumber { [int, pk]serialnumberid, [string]serialnumber } task_serialnumber { [int, pk]serialnumberid, [int, pk]taskid }
the c# code looks this:
using (xmltextreader xml = new xmltextreader(task_file)) { xelement x = xelement.load(xml); // works great. task.name = x.element("name").value; // how convert list<string> entitycollection<criteria_serialnumber> ? task.serialnumbers = (from in x.element("serialnumbers").elements("serial") select i.value).tolist(); }
you not need convert list<string>
entitycollection<criteria_serialnumber>
. have add each element existing entitycollection
:
var serialnumbers = x.element("serialnumbers").elements("serial") .select(sn => sn.value).tolist(); foreach (var serialnumber in serialnumbers) task.serialnumbers.add(new serialnumber { serialnumber = serialnumber });
Comments
Post a Comment