.NET のデータ フレームワークを利用したいのですが、それらがどのように機能するかについて少し混乱しており、希望することが可能かどうかわかりません。(私はこれの多くを PHP フレームワークで行ってきたので、.NET でも同じことができることを願っています!) 要するに、ビジネス ロジックをデータベースにとらわれず、ある意味で、データベースにとらわれないようにしたいと考えています。それはまったくのデータベースです。
このようなクエリは私を苛立たせます:
var productNames =
from p in context.Products
where seller.SellerID == mySeller.SellerID
select p.Name;
代わりに、私はやりたい:
var productNames =
from p in context.Products
where seller == mySeller
select p.Name;
要するに、ビジネス ロジックで ID マッピングを気にしないようにしたいのです。これは、一部のテーブルでは、ID に実際の意味があるためです。(私が使用しているテーブルの一部は、別のアプリケーション ドメインからインポートされたものであり、それらの ID を直接操作できるようにする必要がありますが、私自身の型の場合、ID は付随的です。)
この例では些細な点ですが、一般的に、私はオブジェクトの世界で完全に作業できるようになり、基礎となるデータベースの現実について多かれ少なかれ忘れたいと考えています。これは、クラスの等価演算子を定義するだけの問題ですか?
要約すると、どの .NET データ フレームワークが、オブジェクトの世界に対して最もクリーンなデータベースの抽象化を提供してくれるでしょうか?