用于存储过程的只读操作的设计模式

本文关键字:设计模式 操作 只读 用于 存储过程 | 更新日期: 2023-09-27 18:08:45

我正试图重构/重新设计一些代码,但我被困在一个点,我不知道如何进行。我通常会使用实体框架,并为适当的表创建一个存储库和工作单元,但我不会特别使用任何表,只使用分布在多个表上或由动态SQL完成的存储过程的结果。

在这个项目中没有创建、更新或删除命令。为每个存储过程编写返回的POCO并创建某种类型的IReadOnlyRepository是否明智?或者我应该完全避免使用DAL,只从DataReader读取结果并将其合并到我的业务逻辑中?

TL,博士

在做只读操作时使用O/RM有什么意义吗?如果是,它是什么,设计模式与标准的Repository'Unit of Work模式有什么不同?

用于存储过程的只读操作的设计模式

您仍然可以在存储过程中使用实体框架。

生成.EDMX文件并映射访问

所需的存储过程例如:

public override List<AdminUser> GetAll() {
        using (var context = new Scope_v5Entities()) 
            return context.getAllAdmin().ToList();
    }

在本例中,getAllAdmin是一个存储过程。

既然你已经有了适当的程序,在我看来这是最有效的处理事情的方式。

你可以在代码中创建你的标准数据访问层,就像你在EF中直接对表写查询一样。