ado.net に基づくビジネス オブジェクト (クラス) の既存の (レガシー) セットがあります。それらには、SQL サーバーから自分自身をロードするメソッドと、自分自身を保存するメソッドがあります。これは、EF や linq2sql よりもずっと前から存在していました。
私は EF とそれが提供するすべての利点を使用したいと考えています。問題は、自分自身をロードするロジックを実装するクラスが、ado.net 値をそのプロパティにマップするカスタム ロジックを使用していることです。たとえば、「T」および「F」文字を使用して bool にマップしたり、コレクションにマップする CSV 値を引き出したり、varchar 値を Enum にマップしたりできます。.Load() メソッドでそれを行うのは問題ありません。それを行うためのロジックはすべて既に記述されているからです。このアプリはとても古いです。
たとえば、私の既存の Customers クラスは顧客テーブルに対応していますが、その値を自動的にマップする方法はありません。
理想的には、データ コンテキストを使用して IQueryable の結果を取得できるようになりたいので、linq を使用してデータベースにクエリを実行し、変更を保存できますが、行がデータベースから出てきたら、いくつかのカスタム ロジックを実行する必要があります。作成されたクラスを取得します。
では、SQL 値をプロパティ (つまり、既存の .Load() および .Save() メソッド) にマップするカスタム ロジックを必要とする既存のモデルおよび既存の poco クラスで EF4 をできるだけ簡単に使用するにはどうすればよいでしょうか?