我在 SQL 设置中有 2 个视图:
- 采购订单
- PurchaseOrderLineItems
这些有许多列别名(他们查看/加入的表的名称不合理......这是第 3 方产品)
我有 2 节课(简化如下)
class PurchaseOrder
{
public string PoNumber { get; set; }
public string Vendor { get; set; }
public DateTime DateCreated { get; set; }
public IEnumerable<PurchaseOrderLineItems> LineItems { get; set; }
}
和
class PurchaseOrderLineItems
{
public string PoNumber { get; set; }
public string Name { get; set; }
public double Price { get; set; }
}
我正在使用 Linq to Sql - 带有 XML 映射文件(在 sqlmetal.exe 的帮助下创建)
我想要做的是使用 PurchaseOrderLineItem 视图中的记录有效地填充 PurchaseOrder 中的 IEnumerable - 有效地加入表
我想使用 POCO 来做到这一点 - 无需将 EntitySet<> 添加到我的类中,因为最终,我会将我的 ORM 更改为类似 nHibernate 的东西(我相信它有 bag 属性......?)
目前,我有一个存储过程 - sp_getPurchaseOrderLineItems 接受 PONumber,然后返回 PurchaseOrderLineItem 对象列表,然后我将其添加到我的结果集中(这远非理想)
有什么办法可以做我需要的吗?所以基本上,对 PurchaseOrder 的查询会返回实例中已经填充的 LineItems 的 IEnumerable?
值得一提的是,这只会是只读的,我们永远不会使用它来插入/更新数据。