私のプログラムには、カテゴリと製品という2つのクラスがあり、製品の各オブジェクトにはそのクラスが属するカテゴリが保持されています。xmlからデータを読み込む
カテゴリオブジェクトを作成してデータベースに格納すると、製品を作成するときにデータが不正になります(それぞれのXMLロードが必要になります)。ユーザーが何らかの誤りで失敗した場合、データベースは以前と同じ状態になります)。
製品を最初に作成した場合、その製品の参照(データベースによって生成されたCategoryID)はありません。私はすべての製品を最初に検証することもできますが、バリデーションとオブジェクト作成には多くのコードが重複しています。ベストプラクティスは何ですか?
ありがとうございます!
(サービスレイヤ/ DALの)使用している言語/技術を追加できますか?それはより良い答えを得るのに役立ちます。 –
さて、ありがとう!私はDALとしてC#とlinq2sqlを使用しています。 – Roy
linq to sqlはトランザクションをサポートしています。例については、http://www.microsoft.com/uk/msdn/nuggets/nugget/206/Transactions-in-LINQ-to-SQL.aspxを参照してください。また、トランザクションとlinq2sqlについてのstackoverflowに関するいくつかの質問が有益であるはずです。 –