zoukankan      html  css  js  c++  java
  • 微软connect教程系列—EntityFramework7(三)

     

    随着Asp.NET5的开源,以及跨平台,ORM框架EF7也与时俱进,支持asp.net core,也支持关系型数据库和非关系型数据库,以及在linux和mac上跨平台使用。

    下面演示的即通过使用EF7 操作sqllite数据库

    1、用vs2015新建winform项目,打开nuget,下载安装EntityFramework.SQLite

    2、新建Game实体,代码如下

    public class Game
        {
            [System.ComponentModel.DataAnnotations.Key]
            public string Id { get; set; }
            public int Duration { get; set; }
            public int Clicks { get; set; }
            public double ClickPerSecond { get; set; }
            public DateTime Played { get; set; }
        }

    3、新建上下文GameContext

    在下面创建数据库中可以发现,使用sqllite数据库变得非常简单,只需option. UseSQLite即可。

    public class GameContext :DbContext
        {
            public DbSet<Game> Games { get; set; }
            /// <summary>
            /// 配置创建数据库
            /// </summary>
            /// <param name="options"></param>
            protected override void OnConfiguring(DbContextOptions options)
            {
                ///只需使用sqllite即可
                options.UseSQLite("Filename=game3.db");
            }
        }

    4、程序初始化时创建数据库文件

    如果数据库已经存在,则不会重复创建

    public Form1()
            {
                InitializeComponent();
                //创建数据库
                using (var db = new GameContext())
                {
                    //如果创建了,则不会重新创建
                    bool flag = db.Database.EnsureCreated();
                    Console.WriteLine(flag);
                }
                ReadData();
            }

    5、生成数据,通过点击加入数据

    private static List<Game> _Games = new List<Game>();
            private static int nums=0;
            private void BtnOk_Click(object sender, EventArgs e)
            {
                nums = nums + 1;
                while (nums > new Random().Next(3, 7))
                {
                    GameService.RecordGame(3, nums);
                    nums = 0;
                    lblInfo.Text = "前三名成绩";
                    ReadData();
                }
            }

    6、程序截图

    image

    总体来说,EF7集成了更多数据库支持,更方便的开发。不过codefirst时,enable-migratons不能再控制台使用,这个还得再排查原因。

    源码已经放到git上,地址为:https://github.com/flowbywind/Winform/tree/master/ClickGame

      
    
    
  • 相关阅读:
    《网络对抗技术》exp7 网络欺诈防范
    《网络对抗技术》exp6 MSF基础应用
    《网络对抗技术》exp5 信息搜集与漏洞扫描
    《网络对抗技术》exp4 恶意代码分析
    《网络对抗技术》Exp3 免杀原理与实践
    《网络对抗技术》exp2 简单后门
    k8s弹性伸缩
    python常见算法
    JavaScript 中创建对象的方法(读书笔记思维导图)
    JavaScript 中的闭包和作用域链(读书笔记)
  • 原文地址:https://www.cnblogs.com/flowwind/p/4109408.html
Copyright © 2011-2022 走看看