有一个名为 DsPerson 的类型化数据集和一个名为 ListPerson 的自定义类型化通用列表
DsPerson Ds1Person;
List<Person> ListPerson;
想做类似下面代码的事情,
请帮我纠正这个:
DataTable dtPerson = Ds1Person.Tables["Person"];
DataRow drPerson = dtPerson.NewRow();
DsPerson.PersonRow[] updRows = ListPerson.Cast<Person>().Select(row => dtPerson.NewRow()
{
Nick = row.Nick,
Name = row.NameX,
}).ToArray();
需要以这种方式制作的 DataRow Array 或通用 DataTable。
由于我正在处理的代码规范,不在这里寻找实体或任何其他替代方案。
任何帮助都非常感谢...
More Clarifying :
需要什么:
像扭转这些:(相反的方式)
http://www.stackoverflow.com/questions/441023/fastest-way-to-convert-datatable-to-generic-list
或者一种更清洁和 Linqy 的方式来做类似的事情:
http://beecy.net/post/2009/05/18/convert-generic-list-to-datatable-using-reflection.aspx
获取正确的DsPerson.PersonRow[] updRows 以与 adapter.Update(updRows); 一起使用
怎么了 ?
Cast - Select 语句有轻微错误:我只知道它应该与此类似,所以我不确定这行代码的结构,
现在报告的错误是:
错误 2 无法将类型“System.Collections.Generic.IEnumerable”隐式转换为“DsPerson.PersonRow[]”。存在显式转换(您是否缺少演员表?)