在我的asp.net MVC Web应用程序中获取通用存储库+子存储库+ UnitOfWork

john Gu

我正在使用使用实体框架6的asp.net vmc5 Web应用程序。现在,我正在尝试使它们工作:-

  1. 定义通用存储库。

  2. 为每种DBSet类型创建一个专用存储库,该存储库将从通用存储库派生。

  3. 为每个专用存储库创建一个接口。

  4. 使用UnitOfwork类,以便调用多个存储库类将导致生成单个事务。

我有一个DbSet类型SkillType所以我创建了以下界面:

namespace SkillManagementp.DAL
{
public interface ISkillTypeRepository {
}

然后是以下通用存储库:

namespace SkillManagement.DAL
{
    public class GenericRepository<TEntity> where TEntity : class
    {
        internal SkillManagementEntities context;
        internal DbSet<TEntity> dbSet;

        public GenericRepository(SkillManagementEntities context)
        {
            this.context = context;
            this.dbSet = context.Set<TEntity>();
        }//code goes here...

以下SkillTypeRepository:-

namespace SkillManagement.DAL
{
    public class SkillTypeRepository :  GenericRepository<SkillType> : ISkillTypeRepository 
    {
        private SkillManagementEntities db = new SkillManagementEntities();

        public void Dispose()
        {
            db.Dispose();

        }
        public void Save()
        {
            db.SaveChanges();
        }
    }
}

最后,我创建了以下UnitOfWork类:

namespace SkillManagement.DAL
{
    public class UnitOfWork : IDisposable
    {
        private SkillManagementEntities db = new SkillManagementEntities();
        private SkillTypeRepository skillTypeRepository;


        public SkillTypeRepository SkillTypeRepository
        {
            get
            {

                if (this.skillTypeRepository == null)
                {
                    this.skillTypeRepository = new SkillTypeRepository();
                }
                return skillTypeRepository;
            }
        }



        public void Save()
        {
            db.SaveChanges();
        }

        private bool disposed = false;

        protected virtual void Dispose(bool disposing)
        {
            if (!this.disposed)
            {
                if (disposing)
                {
                    db.Dispose();
                }
            }
            this.disposed = true;
        }

        public void Dispose()
        {
            Dispose(true);
            GC.SuppressFinalize(this);
        }
    }
}

但是我遇到了这些错误:

  • 我无法为我的SkillManagmentRepositry类定义两个派生类。

  • 我也在SkillTypeRepository内收到此错误:-SkillManagement.DAL.GenericRepository'不包含带有0个参数的构造函数

里克

重写SkillTypeRepository为:

public class SkillTypeRepository :  GenericRepository<SkillType>, ISkillTypeRepository 
{            
    public SkillTypeRepository() : base(new SkillManagementEntities())
    {

    }
 //rest of code etc
}

正如我在评论中提及了,你SkillTypeRepository没有一个构造函数,但GenericRepository确实,作为基类有一个构造函数,你需要提供一个派生类和呼叫:base(params)看到这里了解更多详情。

然后,您可以简单地调用base.context以获得对的引用SkillManagementEntities

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在ASP.NET MVC中实现存储库模式和unitOfWork的最佳实践

来自分类Dev

asp.net mvc 中的 UnitOfWork 错误

来自分类Dev

在ASP.NET MVC中的UnitOfWork中强制转换DbContext

来自分类Dev

如何使用存储库模式,服务模式,UnitOfWork,ORM(EF,NHibernate等)使用ASP MVC构建项目?

来自分类Dev

模拟通用存储库/ UnitOfWork

来自分类Dev

在我的ASP.NET MVC应用程序中哪里存储字符串常量?

来自分类Dev

如何在ASP.NET MVC中为我的存储库创建无类型接口?

来自分类Dev

在asp.net mvc 5中实现存储库

来自分类Dev

.Net核心实体框架通用存储库模式-使用UnitOfWork实现共享服务

来自分类Dev

使用单数据库多模式的ASP.NET MVC多租户应用程序:从应用程序调用存储过程尝试访问dbo表

来自分类Dev

GPL v3第三方库在ASP.NET MVC Web应用程序中的使用

来自分类Dev

如何将ASP.NET MVC Web应用程序的标识/身份验证部分移到类库中?

来自分类Dev

ASP.Net Core MVC存储库模式意外处置

来自分类Dev

ASP.NET在应用程序数据库中存储会话状态

来自分类Dev

对于Asp.Net Core MVC应用程序,应在源代码管理中存储什么?

来自分类Dev

ASP.NET 5 MVC 6通用存储库模式

来自分类Dev

使用存储库和UnitOfWork模拟删除

来自分类Dev

类库ASP.net MVC中的应用程序用户

来自分类Dev

嵌套的 UnitOfWork 在 Asp.net 应用程序中不起作用

来自分类Dev

MVC应用程序中的存储库层查询

来自分类Dev

在MVC应用程序中的存储库层上的查询

来自分类Dev

为什么在ASP.NET MVC 4 Web应用程序中未调用我的操作?

来自分类Dev

为什么在ASP.NET MVC 4 Web应用程序中未调用我的操作?

来自分类Dev

从ASP.NET Core MVC Web应用程序(RC2)引用完整框架库项目吗?

来自分类Dev

ASP.NET MVC Web应用程序循环访问和修改数据库的最佳实践

来自分类Dev

ASP.NET MVC 5在Oracle数据库中存储身份用户

来自分类Dev

将JSON数据对象存储到ASP.NET MVC(实体框架)中的数据库

来自分类Dev

控制器ASP.NET MVC中的存储库参数

来自分类Dev

将JSON数据对象存储到ASP.NET MVC(实体框架)中的数据库

Related 相关文章

  1. 1

    在ASP.NET MVC中实现存储库模式和unitOfWork的最佳实践

  2. 2

    asp.net mvc 中的 UnitOfWork 错误

  3. 3

    在ASP.NET MVC中的UnitOfWork中强制转换DbContext

  4. 4

    如何使用存储库模式,服务模式,UnitOfWork,ORM(EF,NHibernate等)使用ASP MVC构建项目?

  5. 5

    模拟通用存储库/ UnitOfWork

  6. 6

    在我的ASP.NET MVC应用程序中哪里存储字符串常量?

  7. 7

    如何在ASP.NET MVC中为我的存储库创建无类型接口?

  8. 8

    在asp.net mvc 5中实现存储库

  9. 9

    .Net核心实体框架通用存储库模式-使用UnitOfWork实现共享服务

  10. 10

    使用单数据库多模式的ASP.NET MVC多租户应用程序:从应用程序调用存储过程尝试访问dbo表

  11. 11

    GPL v3第三方库在ASP.NET MVC Web应用程序中的使用

  12. 12

    如何将ASP.NET MVC Web应用程序的标识/身份验证部分移到类库中?

  13. 13

    ASP.Net Core MVC存储库模式意外处置

  14. 14

    ASP.NET在应用程序数据库中存储会话状态

  15. 15

    对于Asp.Net Core MVC应用程序,应在源代码管理中存储什么?

  16. 16

    ASP.NET 5 MVC 6通用存储库模式

  17. 17

    使用存储库和UnitOfWork模拟删除

  18. 18

    类库ASP.net MVC中的应用程序用户

  19. 19

    嵌套的 UnitOfWork 在 Asp.net 应用程序中不起作用

  20. 20

    MVC应用程序中的存储库层查询

  21. 21

    在MVC应用程序中的存储库层上的查询

  22. 22

    为什么在ASP.NET MVC 4 Web应用程序中未调用我的操作?

  23. 23

    为什么在ASP.NET MVC 4 Web应用程序中未调用我的操作?

  24. 24

    从ASP.NET Core MVC Web应用程序(RC2)引用完整框架库项目吗?

  25. 25

    ASP.NET MVC Web应用程序循环访问和修改数据库的最佳实践

  26. 26

    ASP.NET MVC 5在Oracle数据库中存储身份用户

  27. 27

    将JSON数据对象存储到ASP.NET MVC(实体框架)中的数据库

  28. 28

    控制器ASP.NET MVC中的存储库参数

  29. 29

    将JSON数据对象存储到ASP.NET MVC(实体框架)中的数据库

热门标签

归档