如何将DataSet/DataTable转换为某种类型的通用列表?

Sam*_*ile 2 c# generics dataset

我用答案查看了回答的主题:List list = dt.AsEnumerable().ToList();

但是,如果想转换为某些实体类型的列表呢?例如,我有一个实体类Property:

public class Property
    {
        public int ID { get; set; }
        public string Chain { get; set; }
        public string Name { get; set; }
        public string Street { get; set; }
        public string Street2 { get; set; }
        public string City { get; set; }
        public string State { get; set; }
        public string PostalCode { get; set; }
        public string Country { get; set; }
        public string Phone { get; set; }
        public string FAX { get; set; }
        public string Longitude { get; set; }
        public string Latitude { get; set; }
        public string Airport { get; set; }
    }
Run Code Online (Sandbox Code Playgroud)

我必须使用返回DataSet的Oracle SP.我想要做的是将DataSet(或DataTable)转换为List

DataSet ds =("call SP"); List = ds.something;

abh*_*hek 5

在这种情况下,您可以考虑使用LINQ.

var list = (from dr in dt.AsEnumerable()
           select new Property { .... }).ToList();
Run Code Online (Sandbox Code Playgroud)

创建列表作为结果.

编辑:第一句温和.