当前位置: 移动技术网 > IT编程>开发语言>.net > ef和mysql使用(一)

ef和mysql使用(一)

2018年12月01日  | 移动技术网IT编程  | 我要评论

毕业答辩ppt背景,吴广惠,13308210798

ef开发模式有3种:datebase first(数据库优先)、mode first(模型优先)和code first(代码优先)。这里我用的是code first 一个简单的例子:

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);

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

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网