我正在尝试从使用 XML 文件中的值填充的 DataTable 填充实体框架表。但是,在尝试将这些行添加到我的实体框架模型时遇到错误。
这是我的代码的相关部分:
// Populating DataTable from XML
DataRow row = table.NewRow();
row["InvoiceNumber"] = xmlData.ChildNodes[2].ChildNodes[0].ChildNodes[2].ChildNodes[0].InnerText;
row["InvoiceIssueDate"] = Convert.ToDateTime(xmlData.ChildNodes[2].ChildNodes[0].ChildNodes[2].ChildNodes[1].InnerText);
row["InvoiceDeliveryDate"] = Convert.ToDateTime(xmlData.ChildNodes[2].ChildNodes[0].ChildNodes[2].ChildNodes[2].InnerText);
// Adding to Entity Framework table
Invoices invoices = new Invoices();
invoices.InvoiceNumber = table.Rows[0].ToString(); // This is likely incorrect
invoices.InvoiceIssueDate = table.Rows[1]; // This should be a DateTime
invoices.InvoiceDeliveryDate = table.Rows[2]; // This should be a DateTime
错误详细信息:
当我尝试运行此代码时,我收到以下错误消息:
Cannot convert System.Data.Datarow to System.DateTime
问题:
附加信息:
InvoiceNumber 是一个字符串。
InvoiceIssueDate 和 InvoiceDeliveryDate 是 DateTime 类型 发票实体。
试试这个。
invoices.InvoiceIssueDate = Convert.ToDateTime(table.Rows[1]);
invoices.InvoiceDeliveryDate = Convert.ToDateTime(table.Rows[2]);