.NET Webforms数据库连接中的存储库

时间:2018-12-22 00:38:55

标签: c# asp.net sql-server linq-to-sql webforms

我正在尝试在项目中实现存储库,并且正在关注这篇文章https://stackoverflow.com/a/4535781/10419620

代码如下:

界面:

namespace FolhaRegisto.Database.Repositories
{
    public interface IRepository<TEntity>
    {
        List<TEntity> FetchAll();
        IQueryable<TEntity> Query { get; }
        void Add(TEntity entity);
        void Delete(TEntity entity);
        void Save();
    }
}

和班级

namespace FolhaRegisto.Database.Repositories
{
    public class Repository<T> : IRepository<T> where T : class
    {
        DataContext db;

        public Repository(DataContext db)
        {
            this.db = db;
        }

        public IQueryable<T> Query
        {
            get { return db.GetTable<T>(); }
        }

        public List<T> FetchAll()
        {
            return Query.ToList();
        }

        public void Add(T entity)
        {
            db.GetTable<T>().InsertOnSubmit(entity);
        }

        public void Delete(T entity)
        {
            db.GetTable<T>().DeleteOnSubmit(entity);
        }

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

我找不到任何适用于Web窗体的明确内容。我想我知道它是如何工作的,但我仍然不知道如何为DataContext提供连接字符串。我创建了一个Linq to SQL类并选择了表,但是我不知道下一步该怎么做。

1 个答案:

答案 0 :(得分:0)

对于像我这样在这个话题上感到迷茫的人。我认为您正在寻找的是Webforms中的Model-Binding。

这是我设法找到的教程,可以清楚地详细解释所有内容。 https://docs.microsoft.com/en-us/aspnet/web-forms/overview/presenting-and-managing-data/model-binding/retrieving-data

很好!