zoukankan      html  css  js  c++  java
  • (EF Core) 入门示例

    概述

    Entity Framework (EF) Core 是轻量化、可扩展、开源和跨平台版的常用 Entity Framework 数据访问技术。

    EF Core 可用作对象关系映射程序 (O/RM),以便于 .NET 开发人员能够使用 .NET 对象来处理数据库,这样就不必经常编写大部分数据访问代码了。

    EF Core 支持多个数据库引擎,请参阅数据库提供程序了解详细信息。

    基于 .NET Core 的 EF Core 入门

    在本教程中,将创建一个 .NET Core 控制台应用,该应用使用 Entity Framework Core 对 Microsoft SQL Server 数据库执行数据访问。

    创建新项目

    • 新建控制台项目:

      执行 PowerShell 命令

      dotnet new console -o ConsoleApp

    更改当前目录

    • 将当前目录更改为应用程序的目录,如下所示:

      cd ConsoleApp

    安装 Entity Framework Core

    • 安装 Microsoft.EntityFrameworkCore.SqlServer 和 Microsoft.EntityFrameworkCore.Tools

      dotnet add package Microsoft.EntityFrameworkCore.SqlServer
      dotnet add package Microsoft.EntityFrameworkCore.Tools
    • 运行 dotnet restore 来安装新的程序包。

    创建模型

    • 使用以下内容创建一个新的 Model.cs 文件。

      using Microsoft.EntityFrameworkCore;
      using System;
      using System.Collections.Generic;

      namespace ConsoleApp
      {
      public class BloggingContext : DbContext
      {
      public DbSet<Blog> Blogs { get; set; }
      public DbSet<Post> Posts { get; set; }

      protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
      {
      optionsBuilder.UseSqlServer("Server=JASONYZP;Database=ConsoleApp;User Id=sa;Password=1;");
      }
      }

      public class Blog
      {
      public int BlogId { get; set; }
      public string Url { get; set; }

      public ICollection<Post> Posts { get; set; }
      }

      public class Post
      {
      public Post()
      {
      Random rd = new Random();

      Title = "test" + PostId;
      Content = "";
      BlogId = rd.Next(30000);


      }
      public int PostId { get; set; }
      public string Title { get; set; }
      public string Content { get; set; }

      public int BlogId { get; set; }
      public Blog Blog { get; set; }
      }
      }

      在实际应用程序中,应将每个类放在单独的文件中,并将连接字符串放在配置文件或环境变量中。 为简化本教程,所有内容均放在一个文件中。

    创建数据库

    有了模型后,即可通过迁移创建数据库。

    • 运行 dotnet ef migrations add InitialCreate 以为迁移搭建基架,并为模型创建一组初始表。
    • 运行 dotnet ef database update 以将新迁移应用到数据库。 在应用迁移之前,此命令可创建数据库。

    使用模型

    • 打开 Program.cs 并将内容替换为以下代码:

      using (var db = new BloggingContext())
      {
      var one = new Blog { Url = "http://www.yuzhupeng.com" };
      var post = new Post();
      post.Blog = one;
      post.Content = "test";
      db.Posts.Add(post);
      var count = db.SaveChanges();
      Console.WriteLine("{0} records saved to database", count);
      Console.WriteLine();
      Console.WriteLine("All blogs in database:");
      foreach (var blog in db.Blogs)
      {
      Console.WriteLine(" - {0}", blog.Url);
      }
      }

    • 运行 dotnet run 从控制台测试应用。

    其中遇到以下问题:

    1.dotnet ef migrations add InitialCreate 无法执行 因为找不到指定的命令或文件

    解决方案:

    1、https://docs.microsoft.com/zh-cn/aspnet/core/data/ef-mvc/migrations?view=aspnetcore-2.0

    2、使用PM> Add-Migration InitialCreate

    Update-Database 创建数据表

    总结:

    1.EF CORE不需要映射文件,可以直接save保存 关联模型

  • 相关阅读:
    SVN使用教程总结
    学习duilib库过程中的笔记
    duilib库使用(一)-- 编译生成依赖库
    在Windows服务进程中启动需管理员权限(带盾牌图标)的应用程序
    如何在Windows服务程序中读写HKEY_CURRENT_USER注册表
    vs2015 编译boost库
    NSIS 打包工具使用
    C 读文件
    常用的字符转化的方法
    C# 中对于json的解析小结
  • 原文地址:https://www.cnblogs.com/YzpJason/p/11748845.html
Copyright © 2011-2022 走看看