我想利用 .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 数据框架为我提供了对象世界最干净的数据库抽象?