data-access-layer相关内容

存储库和服务层之间的区别

我查看了一些相关问题,但我仍然看不出存储库和服务层之间有太大区别。所以给出这个例子,我想应该是这样的,如果不是,请告诉我为什么? public interface ProductRepository extends CrudRepository{ public List findByName(String name); pub ..
发布时间:2022-08-03 11:02:04 Java开发

类型化数据集的缺点是什么

我来自一个喜欢自己构建而不是依赖他人构建的库和框架的世界.逃离这个世界后,我发现在 Visual Studio 中使用 Typed DataSets 等工具的乐趣和轻松.那么除了失去灵活性之外,你还失去了什么?是否有性能因素(忽略 procs 与动态 sql 的争论)?限制? 解决方案 到目前为止,类型化数据集是经典 ADO 断开连接记录集的升级版.我发现它们仍然很适合在需要执行一些面向行 ..
发布时间:2022-01-21 13:05:54 C#/.NET

是列表<>比 ASP.Net 中 UI 层的 DataSet 更好?

我想将数据从我的数据访问层获取到我的业务层,然后准备在我的 UI 中使用. 所以我想知道:通过 DataReader 读取我的数据并使用它来填充 List 或填充 是否更好DataSet 并将 DataSet 发送到 UI 层 ??. 我对良好的性能和可扩展性感兴趣. 解决方案 你的 UI 层应该远离你的数据访问策略——它不应该处理原始数据.因此,您的 U ..
发布时间:2022-01-21 12:58:50 C#/.NET

如何正确地对我的 DAL 进行单元测试?

我是单元测试的新手.但是如何对使用 Entity Framework 编写的 DAL 进行单元测试,以便确保我的 DAL 代码正常工作但实际上没有触及数据库?谁能提供尽可能详细的信息. 解决方案 如果你想测试你的数据访问层是否正常工作,你真的需要在某个时候针对数据库进行测试,否则你实际上并没有测试它有效. ..

是否可以接受长期交易?

我正在考虑通过以下方式在 2 层 WPF(或 Windows 窗体)应用程序中使用事务: 当我们打开新的表单编辑数据时,我们可以开始新的事务,在这个事务中透明地编辑和持久化更改.然后我们可以单击“确定"按钮并提交事务,或单击“取消"按钮并回滚它.如果我们想用这个数据打开另一个对话窗口,我们可以使用嵌套事务. 问题是:这种使用事务的方式是否可以接受?我知道有很多不同的方法可以实现这种逻辑 ..

NHibernate 删除了 DAL?

使用 NHibernate(或任何其他 ORM)消除了 DAL 的必要性,我说得对吗?还是不行? 解决方案 您需要一个 DAL,问题是您在 DAL 中做什么.在一个带有 NHibernate 的 .NET 项目中,我使用这个组织 MyProject.Core.DomainModel : 在这个项目中只有 .cs 和映射文件 (.hbm.xml) MyProject.Repo :在这 ..
发布时间:2022-01-02 16:18:04 其他开发

UnitOfWork 是否等于事务?或者它不止于此?

互联网上充斥着关于UnitOfWork模式的信息;即便如此也不例外. 我还是不明白.以我的理解UnitOfWork = Transaction in DB.就这样;不多不少. 这是正确的吗? 我的困惑在于它是如何在不同的 ORM 中实现的.NHibernate 使用 ISession 不仅仅是一个 Transaction.Dapper 把一切交给你. 我这里的问题只是关于设 ..
发布时间:2021-12-22 08:43:58 其他开发

MVC中数据访问层和模型的区别

我已经在几个 Web 应用程序中实现了我认为相当不错的 MVC 表示,但是自从加入了 Crackeroverflow,我发现我最初的定义可能有点简单,因此我真的很想澄清一下数据访问层与网络应用程序的模型或领域层之间的差异. 对于上下文,我目前使用数据访问对象为对象表示的表中的单个记录实现 CRUD 函数,以及返回一个对象的 get() 函数,该对象允许我遍历所有对象满足 get() 函数的标 ..
发布时间:2021-12-21 15:12:08 PHP

如果有的话,MVC 模式与 DAL/BLL 设计模式有何不同?

我正在学习早期的数据访问教程 在 Microsoft 的 ASP.NET 网站上,我突然想到这一切似乎与我读到的有关使用 MVC 模式.作为一个新手,我还没有实现 MVC 模式,但我很好奇这两种设计结构有何不同,以及我是否应该将注意力集中在一个或另一个上,尤其是在网页设计的上下文中. 解决方案 您为数据访问教程发布的链接是 MVC 模式的实现.MVC模式是一个概念,实现可以不同;你在 AS ..
发布时间:2021-12-21 15:02:56 其他开发

在很好解耦的服务层和数据访问层中应该如何使用EntityManager?

与我的另一个问题有些相关 应该从数据访问层或接口返回原始 Hibernate 注释的 POJO 吗?,我在创建很好的解耦层方面经验丰富,但不使用 Hibernate 或 J2EE/JPA.我一直在查看文档和教程,并对如何以优雅的方式使用 EntityManger 感到困惑,因为它似乎负责事务(我想在我的服务层执行)和持久性方法(我想要的)保留在数据访问层).我应该在服务层创建它并将其注入数据访问层 ..

DAO 和 Repository 模式有什么区别?

数据访问对象 (DAO) 和存储库模式之间有什么区别?我正在使用 Enterprise Java Beans (EJB3)、Hibernate ORM 作为基础设施、域驱动设计 (DDD) 和测试驱动开发 (TDD) 作为设计技术来开发应用程序. 解决方案 DAO 是数据持久化的抽象. Repository 是对象集合的抽象. DAO 会被认为更接近数据库,通常以表为中心. Re ..

django中业务逻辑和数据访问的分离

我正在用 Django 编写一个项目,我看到 80% 的代码在文件 models.py 中.这段代码令人困惑,一段时间后,我不再理解到底发生了什么. 困扰我的是: 我觉得我的模型级别(本来应该是只负责处理来自数据库的数据)也是发送电子邮件、通过 API 访问其他服务等. 另外,我发现将业务逻辑放在视图中是不可接受的,因为这样就很难控制了.例如,在我的应用程序至少有三种方法可以创建新的 ..

如何处理多层应用程序中的视图

我正在从事一个基本上具有三层的项目:演示文稿、业务和数据.每个层都在不同的项目中,所有层都使用另一个项目中定义的 DTO.业务层和数据层在查询数据库时返回 DTO 或 DTO 列表. 到目前为止一切顺利,但现在我们必须查询视图,而这些视图当然与现有的 DTO 不匹配.到目前为止,我们所做的只是创建了一个特殊的 DTO、业务层和数据层类,以便将它们视为普通实体(减去插入、更新等) 但这似 ..
发布时间:2021-11-17 03:06:48 C#/.NET

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

我正在编写一个客户端/服务器系统.服务器采用 DAL/BLL 设计.客户端负责呈现数据对象并提供对话框和向导以允许用户更新这些对象(即添加/编辑用户). 最初我想我只是让 DAL 对象有一个通用的数据提供者对象,这样它们就可以被客户端和服务器使用.例如,当服务器正在使用数据对象时,数据库是数据提供者;当客户端使用数据对象时,服务器是数据提供者. 所以一个对象在表现层被改变,例如一个“用 ..
发布时间:2021-11-17 03:00:02 其他开发

SOA 架构数据访问

在我的 SOA 架构中,我有几个 WCF 服务. 我所有的服务都需要访问数据库. 我应该创建一个专门的 WCF 服务来负责所有的数据库访问吗? 或者,如果我的每个服务都有自己的数据库访问权限是否可以? 在一个版本中,我在一个服务中只实例化了一个实体层,所有其他服务依赖该服务. 在另一个中,实体层在我的每个服务中重复. 第一个版本的主要缺点是耦合诱导. 另一个版本的缺点是层 ..
发布时间:2021-11-17 02:56:24 其他开发

从 DAL 返回 DataTable 或 DataSet 是错误的方法

我正在从头开始创建我的分配项目,我首先创建了一个处理 SQL 连接并可以执行存储过程的 DAL. 以后的项目会是CMS或者Blog 我的 DAC 或 DAL 正在从 web.config 读取连接字符串并接受 SQL 参数数组 以及 Stored Procedure Name 并返回在DataTable中执行存储过程. 我按如下方式调用我的 DAC(使用类函数,有时使用后面的代码) Dim ..
发布时间:2021-11-17 02:54:33 C#/.NET

BLL、DAL、BO、插入数据

我需要你的建议.我正在尝试在 ASP.NET 中开发一个分离 BBL、DAL、BOboj 的 3 层架构. 在 DAL 内部,我通过 _view 收集数据.我想知道,我应该为每个视图编写另一个 BOboj 吗??我已经有一个 BOboj 类,但它不包含所有字段. 插入数据时,我必须使用我的 BOboj,但是,在列出时,我应该创建 BOboj_view 类还是其他什么?? 插入数据 ..
发布时间:2021-11-17 02:48:59 C#/.NET