1

座標点で満たされた DataTable があります。また、すべてのデータポイントに対して 2 つの列を含む 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 に答える