1

我有一个用坐标点填充的 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 值。

提前致谢

4

1 回答 1

2
 DataTable dt =  readAscii(yourfileStream);


 var query = from p in dt.AsEnumerable()
                        select new
                        {
                            x= p.Field<string>("X"),
                            y= p.Field<string>("Y")                         
                        };
于 2012-08-25T14:27:44.550 回答