EF CodeFirst

真是时光如梦,岁月如歌,自己一不留神就被后浪拍在了沙滩上,就连我要学的这个东西也是12年就在博客园很火了。

EF有三种开发模式,DatabaseFirst, ModelFirst,CodeFirst,我前两种都用过,CodeFirst以前只是听说过,但从来没用过,最新下了一些开源项目,打开发现看不懂,不得不继续学习;

创建学生类

public class Student

{

public int StudentId { get; set; }

public string SName { get; set; }

public int Age { get; set; }

public string Address { get; set; }

}

创建上下文对象

public class MyContext:DbContext

{

public DbSet<Student> Students { get; set; }

}

修改连接字符串

添加Web.Config中数据库连接字符串,注意名称和上下文对象类名称一致;

<add name="MyContext"

connectionString="server=.;database=MyContext;integrated security=true;"

providerName="System.Data.SqlClient"/>

生成一下,然后创建强类型控制器;

访问我们刚创建好的控制器;

数据库EF已经帮我们自动创建好了。

CodeFirst最棒的就是写很简单的代码就能自动生成数据库,不用我们自己考虑这些问题,所以感觉非常厉害。

EF CodeFirst学习的更多相关文章

  1. EF Code-First 学习之旅 继承策略

    Code First中有三种不同的方法表示继承层次关系 1.Table per Hierarchy (TPH): 这种方法建议用一个表来表示整个类的继承层次关系,表中包含一个识别列来区分继承类,在En ...

  2. EF Code-First 学习之旅 Code First Conventions

    协定是一系列的默认规则用来自动配置领域中的概念模型 1:类型发现 Code-First对包含DBSet属性的类型创建表(包括这些类型的所有引用类型) public class Student { pu ...

  3. EF CodeFirst学习笔记004--足够聪明

    将BlogTypes注释掉,但因为Blogs中定义了BlogType 这样类型的属性,所以Ef会聪明的找到BlogType类. public class BlogEntities:DbContext ...

  4. EF CodeFirst学习笔记001--主键约定

    Code First 的核心是约定,这些默认的规则使我们可以用我们自己的类来创建模型.EF框架要求一个类必须有一个键属性.规则约定如果一个属性名为Id或者是类名+Id的形式(如PatientId),这 ...

  5. EF Code-First 学习之旅 配置一对一的关系

    1对1.1对0 的关系 例如:Entity1与零个或一个Entity2的实例有关系 public class Student { public Student() { } public int Stu ...

  6. EF Code-First 学习之旅 DataAnnotations

    数据注解:配置选项的子集:Fluent API包含所有选项 System.ComponentModel.DataAnnotations Attributes: Attribute Descriptio ...

  7. EF Code-First 学习之旅

    什么是Code-First 基本工作流: 写好应用程序的领域类和上下文类→配置领域类的额外映射→运行程序→Code-First API创建新的数据库或与现有数据库对应→添加种子数据到数据库中测试

  8. EF CodeFirst学习笔记003--如何创建表

    参考: http://www.cnblogs.com/Wayou/archive/2012/09/20/EF_CodeFirst.html webconfig中修改: <connectionSt ...

  9. EF CodeFirst学习笔记002--更新数据库表

    BlogEntities这个类从DbContext继承,负责数据库的更新. Database.SetInitializer(new DropCreateDatabaseIfModelChanges&l ...

随机推荐

  1. day6 函数

    1.关键字参数     给实参对应的形参   调用函数时 设置关键字参数,形参=实参,把实参固定给那个形参 2.元组的可变(不定长参数)的使用      可变参数可以接收任意数量的普通的形参,并且组包 ...

  2. 使用部分函数时并未include其所在头文件,但是能编译成功且能运行,为什么?

    最近在看APUE,试了上面的一些例子,其中有个例子是使用getpid函数获取进程id,但是在我写demo时,并未引入其所在的头文件unistd.h,结果也能编译成功,也能运行,于是就琢磨下为啥. En ...

  3. topic的相关操作

    1.建立topic cd 进入kafka的安装根目录的bin目录下 执行:./kafka-topics.sh --zookeeper ip:port,ip:port,ip:port/kafka-tes ...

  4. Solon详解(一)- 快速入门

    一.Solon 最近号称小而美的的Solon框架,终于得空,搞了一把,发觉Solon确实好用,那Solon到底是什么,又是怎么好用呢? 什么是Solon? Solon参考过Spring boot 和 ...

  5. 7.hbase shell命令 cmd

    $HADOOP_USER_NAME #创建命名空间create_namespace 'bd1902' #展示所有命名空间 list_namespace #删除命名空间,The namespace mu ...

  6. openstack nova 创建虚机流程

    1文件 nova.api.openstack.coumpute.servers1函数 def create(self, req, body):1调用 (instances, resv_id) = se ...

  7. Mac上如果看不到.git目录的解决方法

    Mac OS X上,如果需要查看.git目录下的隐藏文件,操作很简单: 做法是:打开一个Terminal终端窗口,输入: defaults write com.apple.finder AppleSh ...

  8. Flying Pages:在单击之前预加载页面,打开网页快得飞起

    Flying Pages能够实现:在用户点击网页的链接之前,就预加载这个网页,当再点击这个网页时,页面便能飞速打开,能为网站优化加分.接下来,就由LOYSEO来讲解Flying Pages的使用方法. ...

  9. Windows Server 2012 数据库定时备份

    为了数据的安全,我们在服务器上设置了每周备份一次,下面是具体步骤: 一.在文件客户端服务器创建db_backup.cmd的Windows命令脚本.输入以下内容(直接复制可能出错,请手动输入): @ec ...

  10. 以Winsows Service方式运行JupyterLab

    有数据分析,数据挖掘,以及机器学习和深度学习实践经验的读者应该会对Jupyter Notebook这一工具十分熟悉,而JupyterLab是它的升级版本,其提供了更具扩展性,更加可定制化的功能选项. ...