【问题标题】:BLL,DAL,BO,inserting dataBLL,DAL,BO,插入数据
【发布时间】:2013-05-31 23:11:29
【问题描述】:

我需要你的建议。我正在尝试在 ASP.NET 中开发一个将 BBL、DAL、BOboj 分开的 3 层架构。

在 DAL 内部,我通过 _view 收集数据。我想知道,我应该为每个视图编写另一个 BOboj 吗?我已经有一个 BOboj 类,但它不包含所有字段。

插入数据时,我必须使用我的 BOboj,但是,在列出时,我应该创建 BOboj_view 类还是其他什么??

插入数据(我的列只包含那些值)

BOboj {
        private int _PId;
        private string _Name;
        private int _ClassId;

}

列出数据

BOboj_view {

        private int _PId;
        private string _Name;
        private string _ClassName;
}

什么是最好的解决方案,

谢谢。

【问题讨论】:

    标签: c# sql architecture data-access-layer bll


    【解决方案1】:

    BLL 与表示层对话(ASP.Net 页面) DAL 与数据库对话(SQL、Oracle 等) BO 是 BLL 和 DAL 之间交换的对象。

    您不必创建另一个 BO 来列出和添加数据。您可以将同一个 BO 对象用于这两种目的。

    参考: http://msdn.microsoft.com/en-us/library/aa581779.aspx

    将您想要用于单个对象的所有内容如下所示:

    BOboj {
            private int _PId;
            private string _Name;
            private int _ClassId;
            private string _ClassName;
    }
    
    SqlCommand cmd = new SqlCommand("SPName");
    
    cmd.Parameters.AddWithValue("@PID", obj.PID);
    cmd.Parameters.AddWithValue("@Name", obj.Name);
    cmd.Parameters.AddWithValue("@ClassID", obj.ClassID);
    
    cmd.ExecuteNonQuery();
    

    【讨论】:

    • 我传递的是对象,而不是像这样的值 productLogic.UpdateProduct("Scott's Tea", 1, 1, null, -14m, 10, null, null, false, 1);
    • 您的问题是“我应该创建 BOboj_view 类还是其他什么??”答案是不”。您可以使用相同的 BO 对象在不同层之间传输数据。
    • 在这种情况下,插入数据时,我不必为“私有字符串_ClassName;”分配任何内容和其他,不会导致冗余或在插入或读取数据时抛出异常??
    • 如果你在数据插入中没有使用ClassName,你不必担心。查看我的最新答案。
    • 谢谢你的回答。我们在插入数据时做同样的事情。但我的问题不同。看,我有 20 个视图和 40 个类映射到 sql server 中的表,所有视图都收集不同的表(这意味着不同的对象)。除了 40 个之外,我是否应该再创建 20 个类??我希望我能表达自己。
    猜你喜欢
    • 1970-01-01
    • 2013-02-06
    • 2010-09-30
    • 2010-10-01
    • 2010-10-28
    • 2011-01-23
    • 2013-09-24
    • 1970-01-01
    • 2011-04-03
    相关资源
    最近更新 更多