我看过的有关C#开发三层系统的资料中,都是用自定义属性来传递值,并且只针对单表,不知道多表要怎么保存.主次要都保存成功才行,否则就要返回,请问题C#中应如何实现?假设有
订单主表:单号、日期
订单子表:产品名称、单价、数量

解决方案 »

  1.   

    单号、日期、 List<订单子表>
      

  2.   

    你可以看看:http://topic.csdn.net/u/20081116/15/db1d5eb6-3bb0-42fa-b1ea-e4866d83855c.html
    我写的ORM框架完全实现你要的功能;
    并且支持自动增长列,就是如果单号如果为自动增长的(在数据库中),则在添加成功后,则返回单号在对象的属性中;
      

  3.   

    回tigerlgfg:
    看了你的贴子,还是没明白怎么保存主次表资料,代码中只有一条记录,子表有多条记录要怎么保存.如:订单主表:
    单号  日期
    001  2008-11-24订单子表:
    产品名称  数量   单价   金额
    AAA      10    1.0   10.0
    BBB      12    1.2   14.4
    CCC      8     1.5   12.0必须主表、子表的数据都保存成功,否则就全部放弃.
      

  4.   

    将数据放在一个集合里面,用ADO.NET的事务处理
      

  5.   

    顶,
    3楼的子表只能保存一条记录,5楼的集合、ADO.NET事务处理希望能说明白点。我是初学的。
      

  6.   

    查了些资,已经觖决.
    把从表作为一个DataSet传给出中间层,再用以下代码取值就可以不用定义从表的字段变量,加上事务就可以对主从表保存了foreach (DataRow theRow in stOrd.ORDERDETAIL.Tables[0].Rows)
    {
    string ProductName=theRow[1].ToString();
    }stOrd  订单实体类
    ORDERDETAIL  从表DataSet