【发布时间】:2008-12-19 14:06:59
【问题描述】:
从previous question 处,我了解到 Linq to SQL 不能只急切加载foreingKey 表的某些文件。
所以我想问.net ORM 可以支持哪些类型的语句,包括实体类中的这种类型的语句,只需一个 DB 调用,无需手动将结果与对象映射。
-- simplified for clarity
SELECT Order.*, Product.Name, Customer.Name, OrderType.Name, Provider.Name
FROM Order
INNER JOIN Product on Order.ProductID = Product.ProductID
INNER JOIN Customer on Order.CustomerID = Customer.CustomerID
INNER JOIN OrderType on Order.OrderTypeID = OrderType.OrderTypeID
INNER JOIN Provider on Order.ProviderID = Provider.ProviderID
我想让它尽可能简单(尽量避免 NHibernate 等)
【问题讨论】:
-
有趣的是,您试图通过避免 NHibernate 来实现“简单”。虽然 NHibernate 确实有复杂性,但这些都是针对复杂情况的 - 简单的事情真的很简单。
-
IMO,您添加到项目中的每个外部部件都会增加复杂性。您必须处理补丁和新版本,更不用说学习 NQL 或 HQL。