zoukankan      html  css  js  c++  java
  • 【Core】在mvc使用EF

    引用DLL:

    继续上一篇的内容我们来添加EF实体:

    首先:工具> NuGet程序包管理器>程序包管理器控制台:

    Install-Package Microsoft.EntityFrameworkCore.SqlServer

    然后:添加将使用一些实体框架工具从数据库创建模型。所以我们也会安装工具包;

    Install-Package Microsoft.EntityFrameworkCore.Tools

    最后:如果你将在稍后使用一些ASP.NET Core Scaffolding工具创建控制器和视图。所以也会安装这个设计包

    Install-Package Microsoft.VisualStudio.Web.CodeGeneration.Design

    最终的安装结果可以在这里看到:

    添加数据库:

    项目中已经安装好引用后在就需要添加实体了。我们已经习惯了从数据库来更新模型所有我们仍然使用这个方式。

    还是我们熟悉的:工具 - > NuGet程序包管理器 - >程序包管理器控制台

    Scaffold-DbContext "Server=YBF;Database=test;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models

    完成之后会生成一个Models文件夹,再次文件夹下就是所有的实体类和EF上下文 截图:

    注册依赖注入你的上下文

    删除原上下文中的OnConfiguring()方法;

    添加构造函数:

          public testContext(DbContextOptions<testContext> options)
                : base(options)
            {
            }

    Startup.cs中注册并配置您的上下文

    为了让我们的MVC控制器能够使用BloggingContext我们将要注册的服务;打开Startup.cs

    引用:using Microsoft.EntityFrameworkCore;

    使用AddDbContext()方法将期注册为服务;

            public void ConfigureServices(IServiceCollection services)
            {
                services.AddMvc();
                //通过注册使用上下文
                var connection = @"Server=YBF;Database=test;Trusted_Connection=True;";
                services.AddDbContext<testContext>(options => options.UseSqlServer(connection));
            }

    下面你就开始尽情的享受EF的快乐吧。

     使用示例:

      public testContext _context;
            public HomeController(testContext context) //依赖注入得到实例  
            {
                _context = context;
            }
            // GET: /<controller>/
            public IActionResult Index()
            {
                List<Table1> list = new List<Table1>();
      
                    list = _context.Set<Table1>().ToList();
          
                ViewBag.msg = "页面传值";
                ViewBag.list = list;
                return View();
            }

     

  • 相关阅读:
    深入理解系统调用
    基于mykernel 2.0编写一个操作系统内核
    如何评测一个软件工程师的计算机网络知识水平与网络编程技能水平?
    如何评测软件工程知识技能水平?
    深入理解TCP的三次握手及其源代码
    Socket与系统调用深度分析
    未来的图书会是什么样子?
    构建调试Linux内核网络代码的环境MenuOS系统
    Python笔记005-神奇的+=
    Python笔记004-元组的拆包和命名元组
  • 原文地址:https://www.cnblogs.com/yanbigfeg/p/9187616.html
Copyright © 2011-2022 走看看