您的位置:首页 > 其它

【Core】在mvc使用EF

2018-06-15 16:54 281 查看
引用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();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: