私はいくつかのアドバイスを探しています。難しい答えはないかもしれませんが、どんな考えでも大歓迎です。アプリケーションは非常に典型的です。現在 VS2010 を使用しているその ac# コード。このコードは、モデルからエンド ユーザーにデータを提供するために使用されます。モデル自体は、固定点 (「立方体」) のさまざまなパラメーターと設定で既知のデータに基づいています。標準的なプログラミングでは、ユーザーは公開の「get」関数を介してデータにアクセスします。この関数は、既知のデータや設定などのプライベート メンバー変数に依存します。ここまではスタンダード。ここで、このデータをユーザーに提供するクラスを sql データベースに保存したいと考えています。主に、すべてのユーザーが同じデータを共有できるようにするためです (より正確には、生成されたデータをモデル化します)。
もちろん、クラスの各メンバー変数を取得し、SQL データベースを使用してこれらをデータベースに書き込み、これらからクラスを再インスタンス化することもできます。しかし、.net と c# が提供するすべての機能を見逃したくありません。だから私が考えているのは、オブジェクトをシリアル化し、linq to sql を使用してこれを db に吹き込むことです。linq to sql セクションは簡単ですが、シリアル化に関してはまったくの初心者であり、少し心配/混乱しています。明らかなことは、オブジェクトをxmlにフォーマットし、これをSQLデータ型「xml」のテーブルの列としてデータベースに書き込むことです。しかし、それにはいくつかの疑問が残ります。
私の理解では、標準の XMLserializer は、クラスのパブリック メンバーのみを xml に書き込みます。私のクラス設計はクラスの多くをプライベートに保つことを前提としているので、それは私には初心者のように見えます(すべてのパブリックメンバーでクラスを書くことは私の経験外です-誰がそれをしますか?)。これにより、シリアル化のために変数をオプトインできる DataContractSerializer を検討するようになりました。ただし、これにはいくつかの WCF 依存関係があるようで、それを使用することの潜在的な欠点は何だろうと思っています。さらに、Web アプリケーションと JSON でより普及しているように見える SoapFormatter があります。私はこれらを本当に考えていませんが、多分私はすべきですか?たぶん、問題を解決するためのより良い方法がありますか? 少し冗長かもしれませんが、すべてのコンテキストが役に立ち、人々が私にアドバイスをくれることを願っています.