1.OR映射
提供了面向对象的操作数据库的方法
优点
省去对数据库底层的了解,省去Sql语句的编写,减少sql代码量,
强类型的实体操作,更面向对象。
流行的ORM:
Java系列:Hibernate、JPA
.Net系列:EF
2.使用DbContext类来连接数据库
注意:connectionStrings与configSections是同一级标签,上一级标签为configuration
说明:(1)定义一个类(可以看成是一个数据库)包含多个关系的DbSet集合(Blog,Post是类也即关系(表),该类中含有不同的属性)
依据数据库课程学习到的知识,数据库中的表有一对多(分别用“一方”、“多方”指代),多对多的关系(一对一的情况不叙述)。原则是在多方的类中另外包含外键和一方对象(如上图的BlogId和Blog Blog),“一方”的类中另外建立包含“对方”类型的泛型列表(如上图的List posts)。
(2)定义的类继承DbContext的类,该类的构造方法传递一个连接字符串名给父类DbContext类的构造方法,该连接字符串在App.config文件中标签中的子标签的属性name的值。
(3)类的构造函数加上语句:
(4)注意注意注意!在定义的DbContext子类前加注解:
[DbConfigurationType(typeof(MySqlEFConfiguration))]
格式: Database.SetInitializer(new DropCreateDatabaseIfModelChanges<<用于连接数据库的类名>>());
运行上述程序后系统后自动创建两个数据库。
(1).增加数据
下图1是增加一个“多方”记录,此“多方”记录关联多个“一方”:方式为在创建多方对象,往对方对象添加几个一方对象后加入数据库,再使用SaveChanges()。
下图2添加一方对象方法,在new对象是指明多方Id即可。
(2).删除
(3).修改数据
(4).查询
3.对于用于连接数据库的类里的字段需要加上一些标签。