• Entity Framework code first 基本操作


    0.准备工作

    nuget添加entity framework程序集到项目中;

    1.正式开始

    配置文件添加连接字符串:

    <connectionStrings>
        <add name="CmsConnection" connectionString="data source=.;database=CMS;uid=sa;pwd=********;" providerName="System.Data.SqlClient"/>
      </connectionStrings>

    添加实体模型:

    namespace Model
    {
        public class Class
        {
            public int ClassId { get; set; }
            public string ClassName { get; set; }
            public string Description { get; set; }
            public DateTime? CreateDateTime { get; set; }
            public DateTime? UpdateDateTime { get; set; }
        }
    }

    添加上下文文件:

    public class MyDbContext : DbContext
        {
            public MyDbContext()
                : base("CmsConnection")//配置文件字符串名称
            {
            }
    
            public DbSet<Model.Class> Classes { get; set; }
        }

    添加执行代码:

    /// <summary>
            /// 初始化最简单的单表操作
            /// </summary>
            private static void InitSingleTable()
            {
                Model.Class classes = new Class()
                {
                    ClassId = 1,
                    ClassName = "1020561",
                    Description = "desc",
                    CreateDateTime = DateTime.Now,
                    UpdateDateTime = DateTime.Now
                };
                MyDbContext context = new MyDbContext();
                context.Classes.Add(classes);
                context.SaveChanges();
                Console.WriteLine("ok");
                Console.Read();
            }

    运行结果:

    image

    注意:

    1、数据库名称:为配置文件中连接字符串的数据库名称;

    2、数据库表名称:为实体名称的复数形式;

    3、以id结尾的字段作为主键,若为int类型,则自动增长;

    4、字段类型:string转换为nvarchar(max)、bool转换为bit;

    5、生成表:__MigrationHistory,用于记录数据库表结构迁移情况;

    重建表结构:

    //Database.SetInitializer(new CreateDatabaseIfNotExists<MyDbContext>());//默认
    //Database.SetInitializer(new DropCreateDatabaseAlways<MyDbContext>());//始终全部重构
    Database.SetInitializer(new DropCreateDatabaseIfModelChanges<MyDbContext>());//检测到模型发生变化时候重构
    MyDbContext context = new MyDbContext();
    context.Database.Initialize(true);

    问题:每次重构的时候,必须要关闭数据库连接,才能执行成功;/(ㄒoㄒ)/~~

  • 相关阅读:
    JQuery源码解析-Dom加载过程
    多个script标签的作用域
    JQuery源码解析-JQuery的工具方法(1)
    JQuery源码解析-JQuery的工具方法
    JQuery源码解析-JQuery.extend()方法
    JQuery源码解析-添加JQuery的一些方法和属性
    中兴捧月算法精英挑战赛-迪杰斯特拉派
    C语言中的内存相关问题
    动态内存管理
    虚函数与虚继承小结
  • 原文地址:https://www.cnblogs.com/szfBlogs/p/5277185.html
Copyright © 2020-2023  润新知