【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();
        }

 

 

posted @ 2018-06-15 16:54  YanBigFeg  阅读(356)  评论(0编辑  收藏  举报