1、什么是Entity Framework!
它就是微软提供的ORM工具,ORM让开发人员节省访问数据库的时间,将更多的时间放在业务逻辑代码层中,EF提供变更追踪,唯一性约束,惰性加载,查询事物等!开发人员使用Linq语言对数据库操作如同操作Object一样省事。
2、EF使用场景!
1.从数据库生成Class。2.由实体类生成数据库表结构。3.通过数据库可视化设计器设计数据库。
3、EF 组成!
EF5由两部分组成EF api和.NET Framework 4.0/4.5。
EF6是独立的 Entity Framework.dll,不依赖于.NET Framework
4、什么是ORM(对象关系映射)以及特点!
ORM就是将数据存储从域对象自动映射到关系型数据库的工具。ORM包括:域对象,关系数据库对象,映射关系。
简单——以最基本的形式建模数据;
传达性——数据库结构被任何人都能理解的语言文档化;
精确性——基于数据模型创建正确标准化的结构;
5、该不该使用EF!
这个问题很复杂,我个人觉得,在大,中型项目中不宜使用EF,在小型或小中型中可以使用EF。
6、使用EF的三种方式!
下面转发来自:http://www.cnblogs.com/dotnetmvc/p/3733569.html
(1)Database First
、数据库优先,就是你先建好数据库,然后再根据数据库生成Model。
、这种方式唯一的缺点就是需要你去建实体对象的partial类,在partial类中设置特性等。
、感觉还是这种方式是最好的,只是没有CodeFirst新潮啊,所以啊,很难留住那些花心的男人。
(二)Code First
、代码优先,就是先建立实体类,然后根据实体类生成数据库。
、这种方式不需要partial类,你在写实体类的时候,顺便也会把特性写上。
、这种方式使用起来也不像微软说的那样容易,你既要懂数据库,又要懂Code First的各种约定、技巧,个人感觉比 Database
、First 入门更难。并且,操作不当的话,很有可能带来灾难性的后果,因为你一个错误的代码,就有可能导致数据库暴动。
(三) Model First
、不想学这个,不男不女的
7、你该选择哪一种!
、如前面所说,大中型项目,你就不该使用EF。(有些人要说,大中型项目,你都不该使用.net,嘿嘿,说吧说吧,言者无罪)
、如果是中型项目,应该使用 Database First。
、小型项目,可以使用Code First。当然得是熟练工啊,像我这种菜鸟,只能在这写学习笔记。 来源:https://blog.csdn.net/qq_41141741/article/details/82801152 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |