EF=EntityFrameWork是微软自己的ORM框架。
ORM:对象关系映射(英语:Object Relational Mapping,简称ORM,或O/RM,或O/R mapping)
暂时只要记住ORM是将数据库(关系型数据库)表映射成类,数据库表数据映射成类对象。
ORM框架让开发者可以通过操作对象的方式来操作数据库。
//ORM之前我们都是使用数据库语句与数据库交互 例如:
string sqlstr = "select user_id,user_name from users";
//然后通过数据库连接提交这段sqlstr 得到结果集再遍历赋值给List<User>对象。
//现在我们的做法是这样 例如:
List<User> users = dbContext<User>().toList();
微软官方文档:https://docs.microsoft.com/zh-cn/ef/ef6/get-started
EF的外文学习网站:https://www.entityframeworktutorial.net/
某大神翻译的CodeFirst相关文章:https://www.cnblogs.com/caofangsheng/p/5020541.html
请自学。
EF有两种用法 一种是DBFirst,另一种是CodeFirst。
- DBFirst = 先建立数据库结构,再通过数据库结构生成相关的模型。
- CodeFirst = 先建立模型,再通过模型生成数据库结构。
大多数情况下我们使用DBFirst就足够了。
在实际开发中需要注意的地方有:
- 自增ID的处理。
- 模型间1对多或多对多关系时,禁止数据库生成外键。
- 自动更新数据库结构时如果修改表名会产生dbo前缀问题。