BLL,DAL,BO,插入数据

Posted

技术标签:

【中文标题】BLL,DAL,BO,插入数据【英文标题】:BLL,DAL,BO,inserting data 【发布时间】: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;

什么是最好的解决方案,

谢谢。

【问题讨论】:

【参考方案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 个类??我希望我能表达自己。

以上是关于BLL,DAL,BO,插入数据的主要内容,如果未能解决你的问题,请参考以下文章

DAL/BLL 和客户端/服务器:客户端应该使用 BLL 还是 DAL 对象进行演示?或者可能是另一层(数据传输对象?)

业务层 (BLL) 数据访问层 (DAL) 和 UI 之间的通用结构?

DAL 和 BLL 应通过的类型

如何在 UI、BLL、DAL 之间使用 DTO

在 DAL 中找不到数据时如何在 BLL 中引发异常

通用 DAL / BLL 类