扩展特定于实体的存储库类C#

问题描述 投票:0回答:1

我目前有一个实体框架存储库类,它基于我在网上找到的以下代码。

https://gist.github.com/ashrafeme/060f7773e25903ced986804ee7276f5f

这很好,但是,我想创建其他方法来执行特定实体的特定功能。例如,如果我有一篇需要按帖子类型过滤的博客文章,我可以在我的控制器中编写

 SqlRepository<Blog, MyContext> blogPostRepo = new SqlRepository<Blog, MyContext>(dbContext);
            LinkedList<Blog> blogPosts = (LinkedList<Blog>)blogPostRepo.Set<Blog>().Where(p => p.PostType.Id.Equals(2));

但是理想情况下,我想扩展Base SqlRepository类来创建一个BlogPostRepository来尝试保持代码干净。我在BlogPostRepository中使用类签名时陷入困境。我如何编写扩展以下基类的类/

 public class SqlRepository<TEntity, TContext> : IRepository<TEntity>, IDisposable
         where TEntity : class
         where TContext : DbContext
    {
enter code here
c# entity-framework repository-pattern
1个回答
2
投票

创建类如:

public class BlogRepository : SqlRepository<Blog, MyContext>

使用调用基类构造函数的必要参数向构造函数添加构造函数(Ref:Link

© www.soinside.com 2019 - 2024. All rights reserved.