ef和mysql使用(一)
程序员文章站
2024-02-01 11:44:34
ef开发模式有3种:DateBase First(数据库优先)、Model First(模型优先)和Code First(代码优先)。这里我用的是code first 一个简单的例子: 简单介绍一下Database.SetInitializer方法 一:数据库不存在时重新创建数据库 Database ......
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);
这对这几种方式,可以通过代码做出改动,然后调试一下观察一下数据库的变化,会理解的更透彻!
推荐阅读
-
ef和mysql使用(一)
-
学完了PHP和MYSQL Web开发,下一步该怎么学习?
-
关于MySQL的Myisam和Innodb的一些比较总结_MySQL
-
mysql的一些方法和例子
-
appserv的mysql和独立的php,apache,mysql的查询响应速度不一样
-
关于使用一条SQL语句 找出同时符合多个tag条件的记录集合算法_MySQL
-
【C# MySQL】第一回使用C#对MySQL进行操作的心得
-
如何将Access和Excel导入到Mysql中之一_MySQL
-
SQL Server 2008中使用稀疏列和列集的方法(一)
-
CentOS下PHP7的编译安装及MySQL的支持和一些常见问题的解决办法_PHP