如何使用代码隐藏中的存储库模式获取数据

本文关键字:模式 获取 数据 存储 何使用 代码 隐藏 | 更新日期: 2023-09-27 18:35:32

我是一个新的 ASP.NET WebForms开发人员,我现在正在努力使用存储库模式检索.aspx页面的代码隐藏中的数据。例如,假设我想在我的测试应用程序的"关于我们"页面的代码隐藏中获取系统配置的值。我该怎么做?

我已经在数据访问层中拥有所有存储库类和接口。

以下是 SysConfigRepository 类的代码:

public class SysConfigRepository : IDisposable, ISysConfigRepository
    {
        //internal variable
        private readonly TestEntities dbContext = new DbdKurdoaEntities();
        public IEnumerable<T_SysConfig> GetSysConfigs()
        {
            return dbContext.T_SysConfig.ToList();
        }
        public T_SysConfig GetSysConfig(int id)
        {
            T_SysConfig sysConfigObj = GetSysConfigs().SingleOrDefault(s => s.Id == id);
            return sysConfigObj;
        }
        private bool disposedValue = false;
        protected virtual void Dispose(bool disposing)
        {
            if (!this.disposedValue)
            {
                if (disposing)
                {
                    dbContext.Dispose();
                }
            }
            this.disposedValue = true;
        }
        public void Dispose()
        {
            Dispose(true);
            GC.SuppressFinalize(this);
        }
    }

ISysConfigRepository的代码:

public interface ISysConfigRepository : IDisposable
    {
        IEnumerable<T_SysConfig> GetSysConfigs();
        T_SysConfig GetSysConfig(int sysConfigId);
    }

以前,我曾经在 DAL 中为每个实体提供一个类,然后我可以通过编写以下内容在任何.aspx页的代码隐藏中调用此类的对象:

SysConfig configObj = new SysConfig();
var result = configObj.GetSysConfigs(configObj);

那么我现在如何调用存储库对象来获取任何.aspx页面的代码隐藏中的数据呢?

如何使用代码隐藏中的存储库模式获取数据

您可能需要在此处提供更多详细信息。 你试过使用这个类吗?有错误吗?

using (var sysConfigRepository = new SysConfigRepository())
{
    var configs = sysConfigRepository.GetSysConfigs ();
    // Do some stuff here
}

你的 SysConfigRepository 不使用 Constructor!,所以你不能得到新的 类对象。public SysConfigRepository(){}代码波纹管工作:var configs = sysConfigRepository.GetSysConfigs ();