博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
EF Core CodeFirst实践 ( 使用MS SqlServer)
阅读量:6991 次
发布时间:2019-06-27

本文共 3074 字,大约阅读时间需要 10 分钟。

这里使用 MS SQLSERVER ,网上大多使用 SQLite

先来一个CodeFirst

新建项目

这里我们选择  ASP.NET Core Web Application (.NET Core) 

这里选择web 应用程序,然后更改身份验证 改为 不进行身份验证

然后再包管理控制台里执行下面两条命令

 

引用 EntityFrameworkCore

Install-Package Microsoft.EntityFrameworkCore

再引用 EntityFrameworkCore.SqlServer

Install-Package Microsoft.EntityFrameworkCore.SqlServer

创建实体

我们在项目添加一个 Models 文件夹。

新建一个User.cs

public class User    {        public int Id { get; set; }        public string UserName { get; set; }        public string Password { get; set; }    }

这里我为了方便,继续新建 DataContext.cs

public class DataContext : DbContext    {        public DataContext(DbContextOptions
options) : base(options) { } public DbSet
Users { get; set; } }

创建数据库

打开 Startup.cs  在 ConfigureServices 下添加如下代码:

public void ConfigureServices(IServiceCollection services)        {
        //这里就是填写数据库的链接字符串 var connection = "Data Source=.;Initial Catalog=EFCore;User ID=sa;Password=sa.123"; services.AddDbContext
(options => options.UseSqlite(connection)); // Add framework services. services.AddMvc(); }

添加好以后,我们来安装 Microsoft.EntityFrameworkCore.Tools 

Install-Package Microsoft.EntityFrameworkCore.Tools –Pre

在文件资源管理器中找到这个项目,找到 project.json文件

 

 

在 tools节点下 增加代码

"Microsoft.EntityFrameworkCore.Tools": {      "version": "1.0.0-preview1-final",      "imports": [        "portable-net45+win8+dnxcore50",        "portable-net45+win8"      ]    },

效果如下图

 

之后  开始创建数据库 使用 dotnet ef 命令

先打开cmd 窗口 ,跳转到当前项目文件夹

输入

  dotnet ef migrations add MyFirstMigration

 

再输入

  dotnet ef database update

这样数据库就创建好了

注意如果 IIS-Express 在运行中,你会遇到错误  CS2012: Cannot open 'MvcMovie/bin/Debug/netcoreapp1.0/MvcMovie.dll' for writing -- 'The process cannot access the file 'MvcMovie/bin/Debug/netcoreapp1.0/MvcMovie.dll'  because it is being used by another process.'

dotnet ef 命令

  • dotnet (.NET Core) 是 .NET 的跨平台实现。你可以在了解它。
  • dotnet ef migrations add Initial 运行 Entity Framework .NET Core CLI 迁移命令并创建初始化迁移。参数 "Initial" 可以是任意值,但是通常用这个作为第一个(初始的) 数据库迁移。这个操作创建了一个 *Data/Migrations/_Initial.cs* 文件,这个文件包含了添加(或删除)Movie 表到数据库的迁移命令。
  • dotnet ef database update dotnet ef database update 用我们刚刚创建的迁移来更新数据库。

 

 添加  UserController
public class UserController : Controller    {        private efcoredemoContext _context;        public UserController(efcoredemoContext context)        {            _context = context;        }        // GET: /
/ public IActionResult Index() { return View(_context.Users.ToList()); } }

添加 Index.cshtml

@model IEnumerable
@{ ViewBag.Title = "用户";}
@foreach (var item in Model) {
}
Id 用户名
@Html.DisplayFor(modelItem => item.Id) @Html.DisplayFor(modelItem => item.UserName)

然后就可以运行啦

 

感谢  

转载于:https://www.cnblogs.com/baobaodong/p/5870851.html

你可能感兴趣的文章
页面加载条实现思路
查看>>
WEB高性能
查看>>
我也来拆个无线路由器,斐讯的FIR302M
查看>>
DevOps和容器:本地or云端,如何选择?
查看>>
ActiveMQ 初试
查看>>
linux-yum库建立和常见使用
查看>>
“两只小熊队”Alpha版本展示博客
查看>>
创建django的不同环境
查看>>
Top 10 command-line commands for managing Windows 7 desktops
查看>>
CentOS5.4安装samba服务
查看>>
学习笔记之简单工厂设计模式
查看>>
Spring+SpringMVC+MyBatis+Maven框架整合
查看>>
MFC读写文件
查看>>
linux优化
查看>>
手动制作mini linux详细步骤—之一
查看>>
kali密码离线破解
查看>>
Bootstrap优秀模板-Unify.2.6.2
查看>>
poj 3122 Pie (二分)
查看>>
在面试中如何展示虚拟机和内存调优技能
查看>>
C++命名空间学习笔记
查看>>