开发者

How to convert DataView,DataRowView to Generic Typed Lists

开发者 https://www.devze.com 2023-03-11 00:18 出处:网络
Is there any possible method than looping, Enumerating the ICollec开发者_StackOverflow社区tion to convert them respectively to Typed List knowing the columns in the ICollection. I am using .net Framew

Is there any possible method than looping, Enumerating the ICollec开发者_StackOverflow社区tion to convert them respectively to Typed List knowing the columns in the ICollection. I am using .net Framework 2.0, C#2.0. Expected answer would be something like this,a one liner

List<Bills> bills = GetBills(DataView/DataRowView/ICollection);

where Bills type would have BillNumber, BillDate, BilledTo as properties. The DataRowView/DataView would have corresponding Columns with records in them. Is there a factory build method that does the Job? If No any one liner to do it?


Could you do it in one line using a LINQ Select with a lambda? Something along these lines....

List<Bills> bills = yourDataView.Rows.Select(t => new Bills() {BillNumber = t["BillNumber"], BillDate = t["BillDate"], BilledTo = t["BilledTo"]}).ToList();


Use Linq Select to convert the DataView rows to a List of objects:

DataView yourDataView;

List<Bills> bills = yourDataView.ToTable().Rows.Cast<DataRow>()
                    .Select(r => new Bills() 
                    { 
                        BillNumber = r.Field<int>("BillNumber"), 
                        BillDate = r.Field<DateTime>("BillDate"), 
                        BilledTo = r["BilledTo"].ToString()                 
                    }).ToList();
0

精彩评论

暂无评论...
验证码 换一张
取 消