レガシー アプリケーション用に最初に作成された既存のデータベースを使用するプロジェクトがあります。それは正常に動作しますが、時間の経過とともにかなりの数のテーブル/フィールドが失われたり、十分に活用されていませんが、履歴データはいつか役立つ可能性があるため、どこにも行きません.
2012 年 ('13) に入り、POCO 生成機能が組み込まれた ORM である Entity Framework 5 が登場しました (Nice Add!)。バン.. Oracle データベースへの接続を取得します。コンテキストといくつかの POCO をアップします。しかし、待ってください..私のPOCOは、私が対処したいPOCOではありません...もう必要のないフィールドがたくさんあります(絶対に必要ないと言っているわけではありませんが、確かなことはわかりません)、だから今、基本的に肥大化したテーブルマッパーであるこれらのPOCOを手に入れました...それで、どうすればいいですか。
ここにいくつかの解決策があります..
1)。それらを放り投げて、必要なフィールドのみを使用できます。
2)。モデル サーフェスに入り、使用されていないフィールドの削除を開始できます。
3)。「Code-First」アプローチを採用し、オブジェクトを既存の DB に結び付けます。ただし、これは大規模な DB です (これが可能であると確信していますよね?)
4)。独自のモデル プロジェクトで独自の POCO / DTO を作成すると、これらは基本的に「ドメイン モデル」になりますが、コンテキストへのマッピングが面倒になる可能性があります。
最後に、これらの POCO / DTO は独自のプロジェクトに含める必要がありますか?? 本当に得られるものは何か..「YAGNI」のようなものを見ると、.edmx のすぐ下に座って誰にも迷惑をかけないように感じます..
余談ですが、JSON 経由でもこれらのいくつかが必要になるため、シリアル化可能な機能全体を考慮する必要があります..
生成された POCO を部分的に分類し、必要なプロパティのみを「属性」にすることはできますか?
とにかく、過去の経験から、または問題についての考えを聞くのは素晴らしいことです..
これはProgrammersにあることがわかりましたが、ここから始めることにしました。