如何在startup.cs的ConfigureServices方法中正确注入DbContext实例(ASP.net core 1.1)?

2023-11-26

我已经实施了EntityFrameworkFileProvider对于我的 ASP.NET Core Web 应用程序,我想要ViewDbContext由 ASP.NET core DI 框架在构造函数中注入的实例:

(ViewDbContext is a dbContext)

public class EntityFrameworkFileProvider : IFileProvider
{
    private ViewDbContext _context;

    public EntityFrameworkFileProvider(ViewDbContext context)
    { 
       /* should be injected by asp.net core DI */
        _context = context;
    }
    public IDirectoryContents GetDirectoryContents(string subpath)
    {
        .....
    }

    public IFileInfo GetFileInfo(string subpath)
    {
        var result = new DatabaseFileInfo(_context, subpath);
        return result.Exists ? result as IFileInfo : new NotFoundFileInfo(subpath);
    }

    public IChangeToken Watch(string filter)
    {
        return new DatabaseChangeToken(_context, filter);
    }
}

现在我添加EntityFrameworkFileProvider to RazorViewEngineOption在启动.cs中 如何制作ViewDbContext由 DI 框架自动注入的实例ConfigureServicesstartup.cs的方法?我该怎么称呼EntityFrameworkFileProvider构造函数正确吗?

在 Startup.cs 中

public void ConfigureServices(IServiceCollection services)
{
      /* Add  EntityFrameworkFileProvider to Razor engine */
      services.Configure<RazorViewEngineOptions>(opts =>
      {
          opts.FileProviders.Add(new EntityFrameworkFileProvider(null?));
      });

      services.AddMvc();
}

我想我已经找到了解决方案!任何想法?

public void ConfigureServices(IServiceCollection services)
{
     services.AddDbContext<ViewDbContext>(options => 
       options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
    ...
     /* Add  EntityFrameworkFileProvider to Razor engine */       
     var context = services.BuildServiceProvider()
                       .GetService<ViewDbContext>();

     services.Configure<RazorViewEngineOptions>(opts =>
     {
         opts.FileProviders.Add(new EntityFrameworkFileProvider(context));
     });

     services.AddMvc();
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在startup.cs的ConfigureServices方法中正确注入DbContext实例(ASP.net core 1.1)? 的相关文章

随机推荐

  • opencv中如何合并轮廓?

    好的 我已经在这个项目上工作了一段时间了 我正在构建这个玩铬合金恐龙游戏的机器人 所以我尝试了其他方法来检测字符 例如 matchTemplate 甚至制作了自己的算法来定位对象 但我最喜欢这个 findcontours 这是我所拥有的 谁
  • 如何在 android 11 中的 /Android/media 中创建文件夹?

    我想在内部存储中创建一个新文件夹 但是在新版本的Android中 我们无法像以前创建文件夹一样创建文件夹了 但一些应用程序 例如 WhatsApp 会在 Android media 内创建文件夹 我想知道如何在此位置内创建文件夹 conte
  • Java 运行时.exec()

    我可以从命令行运行此命令 没有任何问题 验证脚本执行 c Python27 python feedvalidator feedvalidator src demo py https das dynalias org 8080 das cor
  • Heroku 中的 Django 错误:“请提供 ENGINE 值”

    我阅读并应用了 Heroku 上的 Django 入门 教程 但在同步数据库时遇到了问题 raise ImproperlyConfigured settings DATABASES is improperly configured djan
  • Angular4 材质输入无法正确显示

    我正在尝试将材质放入 angular4 项目中 在该项目中我用表格复制 粘贴了示例 当我输入客户名称时 编程部分按预期工作 它按应有的方式进行过滤 并且下表显示得非常好 问题是 mat form field 内的 matInput 未正确显
  • 使用 jQuery 检查是否至少选中了一个复选框

    我有五个复选框 使用 jQuery 我如何检查是否至少检查了其中之一
  • 显示更新时从 Flask 视图流式传输的数据

    我有一个可以生成数据并实时传输数据的视图 我不知道如何将此数据发送到可以在 HTML 模板中使用的变量 我当前的解决方案只是在数据到达时将其输出到空白页面 这是可行的 但我想将其包含在带有格式的更大页面中 当数据流式传输到页面时 如何更新
  • 如何使用 Python 获取 1200 英寸的 truetype 字体字符宽度?

    我可以使用 PIL 获取字符的高度和宽度 以像素为单位 见下文 但是 除非我弄错了 像素大小取决于屏幕的 DPI 它可能会有所不同 相反 我想做的是以绝对单位 例如英寸或 1200 英寸 wordperfect 单位 计算字符的宽度 gt
  • 在一个范围内选择一个范围

    我使用以下 VBA 代码 MS Excel 2010 选择给定范围内的一系列单元格 复制复制的单元格并将其插入回源范围 该范围从工作表中的第 2 行开始 一直到第 2200 行 从第 50 列到第 65 列 Set rngFEA shtTa
  • bazel支持测试执行顺序吗?

    我想在运行其他更深入的端到端测试之前运行一定数量的端到端集成测试 只要我不使用 keep going标记第一个测试失败应该退出bazel test 会议 我希望在更深入的测试之前运行更浅的端到端测试 有没有办法从 bazel 管理测试执行顺
  • 确定数独是否有唯一解

    我正在努力使用回溯算法来确定数独是否具有唯一的解决方案或是否具有多个解决方案 这是我使用的回溯代码 static boolean solve int i int j int cells if i 9 i 0 if j 9 return tr
  • 如何在 XML 视图中动态加载 XML 片段?

    假设我有以下 XML 视图
  • 使用 Jquery datepicker 添加选定日期的一天

    我一直在尝试为另一个日期字段添加一天 并选择当前字段的日期 onSelect function date var date2 currDate datepicker getDate date2 setDate date2 getDate 1
  • 仅使用 SQL 将图片插入 SQL Server 2005 图像字段

    使用 SQL Server 2005 和 Management Studio 如何将图片插入到Image键入表格的列 最重要的是我如何验证它是否存在 CREATE TABLE Employees Id int Name varchar 50
  • Java:Swing 的安全动画

    我正在创建一个使用 JFrame JPanel JLabel 和所有其他类型的 swing 组件的程序 我想要做的是在专用于该动画的单独 JPanel 上创建 2D 动画 所以我将重写 PaintComponent Graphics g 方
  • 在 java 类中为 firestore 文档指定序列化名称

    我正在尝试存储一个document在我的 Android 应用程序的 firestore 中使用自定义对象 如果我使用 proguard 来构建我的应用程序 有没有办法为我的类中的字段指定序列化名称 就像这样Gson提供使用 Seriali
  • SQL Server 2008 对具有复合主键的表进行全文搜索

    我试图在 SQL Server 2008 上进行全文搜索 但是我尝试索引的表是一个具有复合主键的表 如下所示 EXEC sp fulltext catalog My Catalog create EXEC sp fulltext table
  • Stylesheet_link_tag :all 与 :media =>all

    我从脚手架创建了一个新的 Rails 应用程序 但教程声称将出现以下内容 当我得到 它们之间有什么区别 我应该使用哪个 为什么 Using 将包含名为的样式表应用程序 css 你可以有这样的文件应用程序 css sass or 应用程序 c
  • pymongo 中使用 collection.find() 的嵌套查询

    我想使用 mongodb 创建一个数据库 我想知道如何查询嵌套实体 例如 假设我们创建一个数据库 如下所示 from pymongo import MongoClient db client test database collection
  • 如何在startup.cs的ConfigureServices方法中正确注入DbContext实例(ASP.net core 1.1)?

    我已经实施了EntityFrameworkFileProvider对于我的 ASP NET Core Web 应用程序 我想要ViewDbContext由 ASP NET core DI 框架在构造函数中注入的实例 ViewDbContex