EF Core实践 (使用MS SqlServer)

这里使用 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<DataContext> options)
            : base(options)
        {
        }
        public DbSet<User> 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<DataContext>(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: /<controller>/
        public IActionResult Index()
        {
            return View(_context.Users.ToList());
        }
    }

添加 Index.cshtml

@model IEnumerable<EFCoreDemo.Models.User>

@{
    ViewBag.Title = "用户";
}
<table class="table">
    <tr>
        <th>Id</th>
        <th>用户名</th>
    </tr>

    @foreach (var item in Model)
    {
        <tr>
            <td>
                @Html.DisplayFor(modelItem => item.Id)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.UserName)
            </td>
        </tr>
    }
</table>

然后就可以运行啦

感谢  ASP.NET Core 开发 - Entity Framework (EF) Core

时间: 2024-10-16 15:44:00

EF Core实践 (使用MS SqlServer)的相关文章

[.Net Core] EF Core实践(DB First)

一.开发环境: VS2015, .Net Core 1.0.0-preview2-003156 二.准备数据: CREATE DATABASE [Blogging]; GO USE [Blogging]; GO CREATE TABLE [Blog] ( [BlogId] int NOT NULL IDENTITY, [Url] nvarchar(max) NOT NULL, CONSTRAINT [PK_Blog] PRIMARY KEY ([BlogId]) ); GO CREATE TAB

[.Net Framework] -- EF Core实践(Code First)

一.开发环境: vs2015, .Net Framework 4.6.1 二.解决方案: 新建一个控制台应用程序 添加引用:Microsoft.EntityFrameworkCore.SqlServer和Microsoft.EntityFrameworkCore.Tools 添加Model和DbContext: 根据Model生成数据库和表:在Package Manager Console中执行add-migration Init 和 update-database

ef core 相关

1.为什么使用ef core? 市面上orm框架那么多,为何偏偏选择ef,dapper那么好用,性能碾压ef,为什么使用dapper? 对于这个问题我记得当初一个老师讲entityframework的时候讲过这么一个故事: 1)一个公司的老板让开发部开发一个软件,一开始的数据库的技术栈:ado.net,当项目真正要用的时候,老板发现sqlserver的费用让他有点不情愿,同样是数据库人家mysql为什么不要钱,所以勒令开发部把数据库换成mysql,从中省下来的钱一部分作为奖金(呵呵哒~),开发部

[翻译 EF Core in Action 1.6]你的第一个EF Core应用程序

Entity Framework Core in Action Entityframework Core in action是 Jon P smith 所著的关于Entityframework Core 书籍.原版地址. 是除了官方文档外另一个学习EF Core的不错途径, 书中由浅入深的讲解的EF Core的相关知识.因为没有中文版,所以本人对其进行翻译. 预计每两天一篇更新 PS: 翻译难免限于本人水平有不准确的地方,建议英文水平不错的同学直接查看原版,有不足的地方欢迎指正 第一部分目录导航

(3).Net Core的EF Core的使用

EF Core(Entity Framework Core)是 EF 的.net core 版本.EF Core 对 SQLServer 支持很好,也可以在Linux下连接SQLServer.不过如果在Linux下首选MySQL,因此这次试一试MYSQL. EFCore 的 Nuget: Microsoft.EntityFrameworkCore(一般不需要单独安装,安装mysql的包的时候会把相关依赖的包自动下载下来). 官 方 的 mysql  ef  provider经网上查资料网友告知还

asp.net core+ef core

asp.net core+ef core 官方的文档https://docs.asp.net/en/latest/tutorials/first-mvc-app/start-mvc.html 先来看一下实现的效果 开始之前,确定本机已经有.NET Core环境.https://www.microsoft.com/net/core#windows 1.创建解决方案的文件结构如下图(模糊处理的过文件是自己后面加的和ef生成的). 2.要使用ef core,先引用ef core相关的程序包.https

.net core 使用 ef core

第一步: 创建一个.net core console app. 第二步:安装EFCore package 和  design(以前vs是有EF项目模板的,core版本现在没有,所有安装这个工具来创建ModelsType Context等). 工具-->Nuget包管理器-->程序包管理控制台 1.Install-package microsoft.entityframeworkcore.sqlserver 2.Install-package microsoft.entityframeworkc

EntityFramework Core技术线路(EF7已经更名为EF Core,并于2016年6月底发布)

官方文档英文地址:https://github.com/aspnet/EntityFramework/wiki/Roadmap 历经延期和更名,新版本的实体框架终于要和大家见面了,虽然还有点害羞.请大家多体谅! 下面正式进入主题: Entity Framework Core (EF Core) 下面是EF Core 的计划和技术线路,注意,这些计划是可能发现变化的,因为很多事是很难预测的.即便如此,我们还是尽可能保持计划的公开和透明,以解大家对EF Core期望,以及做出相应的安排. Sched

一步步学习EF Core(1.DBFirst)

前言 很久没写博客了,因为真的很忙,终于空下来,打算学习一下EF Core顺便写个系列, 今天我们就来看看第一篇DBFirst. 本文环境:VS2017  Win7  .NET Core1.1    EF Core1.1.2 正文 这里我们不讨论是用DBFirst好,还是CodeFirst高端..各有各自的用处和适用场景.. 我们单纯的只是来使用这个DBFirst.. 既然是DBFirst,那么在用DBFirst之前..首先你要有一个数据库(嗯,废话) 其次,如果你是Windows7系统 那么需