前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >ef和mysql使用(一)

ef和mysql使用(一)

作者头像
yaphetsfang
发布2020-07-30 09:57:53
发布2020-07-30 09:57:53
1K00
代码可运行
举报
文章被收录于专栏:yaphetsfangyaphetsfang
运行总次数:0
代码可运行

这里为什么要写ef和mysql的使用,ef默认连接的sqlserver ,使用起来可能会比较顺手,ef和mysql使用的时候会出现各种问题,所以这里就搞mysql,要有一颗勇于出错的心。

秉着不畏艰难的精神开始了ef和mysql之旅。

 ef和mysql的配置就不多说了把,nuget出现之前,这些配置安装了什么的还有必要搞一搞,有个nuget这玩意,ef和mysql的安装和配置太简单了

通过nuget管理器安装完ef和mysql之后,配置一下连接字符串。接下来就可以搞代码了。

 我们都知道,ef开发模式有3种:DateBase First(数据库优先)、Model First(模型优先)和Code First(代码优先)。这里我用的是code first 一个简单的例子:

代码语言:javascript
代码运行次数:0
运行
复制
 public class BloggingContext : DbContext
    {
       public BloggingContext() : base("name=testConn")
        { }
        public DbSet<Person> Blogs { get; set; }
        public DbSet<DepartPerson> Posts { get; set; }
    }
    class Program
    {
        static void Main(string[] args)
        {//模型改变重新创建数据库
             Database.SetInitializer(new DropCreateDatabaseIfModelChanges<BloggingContext>());
            using (var db = new BloggingContext())
            {
                Person blog = new Person()
                {
                    Name = "zhangsan",
                    Age = "29",
                    ID = Guid.NewGuid().ToString().Replace("-", "")
                };
                db.Blogs.Add(blog);
                db.SaveChanges();

                foreach (var item in db.Blogs)
                {
                    Console.WriteLine("Name:" + item.Name);
                }
            }

            Console.Read();
        }
    }

这里简单介绍一下Database.SetInitializer方法

一:数据库不存在时重新创建数据库

Database.SetInitializer<testContext>(new CreateDatabaseIfNotExists<testContext>());

二:每次启动应用程序时创建数据库

Database.SetInitializer<testContext>(new DropCreateDatabaseAlways<testContext>());

三:模型更改时重新创建数据库

Database.SetInitializer<testContext>(new DropCreateDatabaseIfModelChanges<testContext>());

四:从不创建数据库

Database.SetInitializer<testContext>(null);

 这对这几种方式,可以通过代码做出改动,然后调试一下观察一下数据库的变化,会理解的更透彻!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-07-31 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档