2016-05-31 6 views
0

私は現在、自分のマウスを使ってポリゴンを描くことができる描画ペインを含むWPFアプリケーション(C#、プリズムフレームワークを使用しています)に取り組んでいます。WPFアプリケーションからデータベースにポリゴンオブジェクトを格納していますか?

しかし、私はこれらの図面を永続的にすることができますか?

私は、これらの図面を含む最良のオブジェクトがポリゴンオブジェクトであると推測していますか?

また、これらのポリゴンには色などの属性が必要です(必要な場合は、自分のポリゴン継承オブジェクトを定義することでこれを行うことができます)。

しかし、私はこの種の情報をデータベースに永続化させることができますか? (私は現時点でSQLiteを使用しています)。

ポリゴンの塗りつぶし色などの情報を含むポリゴン情報をデータベースに保存できるようにします。

私はこれをグーグルで見つけましたが、有用なものは見つけられません。誰かが私を正しい方向に向けることができますか?

ありがとうございました!

+0

public class PolygonDbFormat // the class which contains the information you want to store { public string Name { get; set; } public Brush Fill { get; set; } } 

は、拡張メソッドの定義私は準備ができているソリューションとチュートリアルがないと思いますこの問題は横たわっています。あなたは、データベース構造とあなたが作成する必要があるテーブルについて考えなければなりません... ORMを使用してください – Alex

答えて

0

保存したい情報を保存するためには、モデルクラスを作成する必要があります。

Entity Frameworkを使うのが最良の解決策かもしれないと思いますので、モデルクラスの作成に気を使う必要はありません。既存のモデルクラスを使用することもできます。しかし、あなたの場合、テーブルに不必要な情報がたくさん保存される可能性があります。


独自のモデルクラスを作成する場合は、Polygonとして、.NETタイプに、このようなヘルパーを拡張メソッドを追加することができます。このメソッドは、.netクラスからデータベースに保存できる保存可能なモデルクラスを生成します。例えば


Modelクラス:

public static class PolygonEx 
{ 
    public static PolygonDbFormat AsDbFormat(this Polygon polygon) 
    { 
     return new PolygonDbFormat 
     { 
      Name = polygon.Name, 
      Fill = polygon.Fill 
     }; 
    } 
} 

その後、データベースにこの方法をPolygonクラスを保存することができます:

var dbFormat = yourPolygon.AsDbFormat(); 
_yourDbManager.AddEntry(dbFormat); // your implementation to store the data in database 
関連する問題