【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(); }
作者:YanBigFeg —— 颜秉锋
出处:http://www.cnblogs.com/yanbigfeg
本文版权归作者和博客园共有,欢迎转载,转载请标明出处。如果您觉得本篇博文对您有所收获,觉得小弟还算用心,请点击右下角的 [推荐],谢谢!