如何将DataTable写入Linq实体?

时间:2012-08-25 14:17:24

标签: c# .net linq

我有一个填充了坐标点的DataTable。我还有一个LINQ实体,它还包含两列所有数据点。

是否有可能以某种方式将DataTable信息复制到LINQ实体,因此我可以将此表写入我的数据库?

在这里,我在表格中填写信息,从txt文件中读取它:

public static DataTable readAscii(FileStream fileStream)
        {
            DataTable spectrumDT = new DataTable();
            DataTable InfoDT = new DataTable();
            StreamReader sr = new StreamReader(fileStream);
            string line;

            while ((line = sr.ReadLine()) != null)
            {
                string[] coords = line.Split('\t');

                if (spectrumDT.Columns.Count == 0)
                {
                    spectrumDT.Columns.Add(new DataColumn("X", typeof(string)));
                    spectrumDT.Columns.Add(new DataColumn("Y", typeof(string)));                    
                }

                if (coords.Length > 0 && !string.IsNullOrWhiteSpace(coords[0].ToString()))
                {

                    try
                    {
                        spectrumDT.Rows.Add(coords[0].ToString(), coords[1].ToString());
                    }
                    catch {
                        break;
                    }

                }

            }

            return spectrumDT;
        }

我的LINQ实体也有列的X和Y值。

提前致谢

1 个答案:

答案 0 :(得分:2)

 DataTable dt =  readAscii(yourfileStream);


 var query = from p in dt.AsEnumerable()
                        select new
                        {
                            x= p.Field<string>("X"),
                            y= p.Field<string>("Y")                         
                        };