.net 三层架构的一些疑惑

wangyongjie0509 2010-06-18 10:11:31
如下:
数据库表
表名:
OrderHead(订单表头)
OrderHead_ID 表头ID号
Order_No 订单号
Order_Date 订单日期

OrderList(订单明细)
OrderList_ID 明细ID号
OrderHead_ID 表头ID号
Item_No 货号
Qty 数量
...

按照三层的思想会有两个Model(OrderHeadInfo,OrderListInfo)
由于两表是主从的关系,OrderHeadInfo会有一属性
public List<OrderListInfo> OrderLists
{
get;
set;
}

问题:
1. 获取表头的时候就会获取明细的数据,这样就会影响性能,因为很多时候只需要取表头数据?
2. 单据保存的时候,如何实现事务?

...全文
129 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
amandag 2010-06-18
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wangyongjie0509 的回复:]
TO Ksy :
在加载单据头时不加载明细,在使用时才加载。
如何实现?
[/Quote]
延时加载,做个属性,只有get的时候才去查相关内容
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wangyongjie0509 的回复:]
TO Ksy :
在加载单据头时不加载明细,在使用时才加载。
如何实现?
[/Quote]
加载单据明细的时候以单据头为参数。

单看你的问题,谁知道你又是如何加载单据头的呢?

给你代码抄,你也应该先给出你自己的代码来说明你想抄什么设计方法的代码呀!
  • 打赏
  • 举报
回复
[Quote=引用楼主 wangyongjie0509 的回复:]
单据保存的时候,如何实现事务?[/Quote]

事务是一种对象,你首先应该设计代表事务的对象,然后当一个BLL方法调用另外(两个以上)BLL方法时传入给它们,而它们则是从这个参数对象中得到DAL所要操作的数据库(或者事务)对象。
  • 打赏
  • 举报
回复
[Quote=引用楼主 wangyongjie0509 的回复:]
按照三层的思想会有两个Model(OrderHeadInfo,OrderListInfo)
........
获取表头的时候就会获取明细的数据
........
[/Quote]

什么“三层思想”?
wangyongjie0509 2010-06-18
  • 打赏
  • 举报
回复
TO Ksy :
在加载单据头时不加载明细,在使用时才加载。
如何实现?
ksy 2010-06-18
  • 打赏
  • 举报
回复
1.在加载单据头时不加载明细,在使用时才加载。
2.单据头和明细在同一事务中保存,明细类中不实现增删改,所有相关操作在头档类中完成,例如:
Save(List<OrderInfo> order,List<OrderDetailInfo> orderDetails)
...
足球中国 2010-06-18
  • 打赏
  • 举报
回复
代码生成器生成的东西,完全可以满足你的需要就是看你选择哪个代码生成器。我都是用自己写的。
宇峰科技 2010-06-18
  • 打赏
  • 举报
回复
顶,学习

17,740

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 .NET Framework
社区管理员
  • .NET Framework社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧