2011-02-09 10 views
0

を保存します。C#のLINQ SQLは、私はクラスPointを持つリストに<Point>

[Table(Name = "Chart")] 
class Chart 
{ 
    public List<Point> Points { get; set; } 
} 

効率的にポイントをデータベースに保存したいと考えています。私はポイントの上で操作を行う必要はありません。ポイントを1つの列に保存する方法はありますか?私は、この方法は1000000ポイントの新しいテーブルを作成するよりも効率的でなければならないと思います。 Thin

+1

あなたは新しい行を意味しますか?私はより効率的な方法を見ていない、それはデータベースのポイントのようなものだ – Guillaume86

答えて

1

Look up SqlBulkCopy - これはLinqではありませんが、Linqよりもはるかに高速に大量のデータをSQL Serverにプッシュできます。

0

テーブルを使用することをおすすめします。 2つの整数の1000000行、ダブルとFKはかなり効率的になるだろう。あなたは、データベースとの、おそらくこのデータ

のために必要であるLINQ to SQLの以外の何かをやってデータを得ることについて心配している場合 あなたは XML type列を使用してある、そこにあなたのポイントを保存することができると言いました

LinqがSQLにサポートしています。しかし、他のいくつかの考慮事項なしではありません。

From the docs

SQL ServerのXMLデータ型は、Microsoft SQLで Serverの2005を起動可能な であるあなたは、XElementの、 XDocument、またはStringにSQL ServerのXMLデータ型をマッピングすることができます。 の列に を読み取ることができないXMLフラグメントが格納されている場合、ランタイム のエラーを避けるために、列は をStringにマップする必要があります。 はStringにマッピングされなければならないXMLフラグメントは には次のものが含ま:XML要素の

シーケンスが

属性

公開識別子(PI)

コメント

あなたがマップすることができますが、 XElementおよび で示されているように、SQL ServerへのXDocument型マッピング実行時の動作 Matrixでは、DataContext.CreateDatabase メソッドには、これらのタイプのデフォルトのSQL Serverタイプ のマッピングがありません。

関連する問題