前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Entity Framework简介

Entity Framework简介

作者头像
喵叔
发布2020-09-08 16:13:26
1.7K0
发布2020-09-08 16:13:26
举报
文章被收录于专栏:喵叔's 专栏
零、什么是Entity Framework

Entity Framework (简称EF),是.NET的 Object/Relational Mapping 实体框架(简称ORM),可以在 SQL Server、MySQL、Oracle、等数据库上使用。可以将数据作为业务对象和实体进行操作,使用LINQ进行查询,使用C#进行操作和检索。

一、领域建模方式

Entity Framework 有三种领域建模方式:Code FirstModel FirstData First

1. Code First Code First 可以通过类来描述模型,然后通过类来创建数据库,这种类简称为POCO(Plain Old CLR Object)。POCO中的C是指 .NET Framework公共语言运行时(Common Language Runtime,CLR)中的一个简单对象。POCO对域对象使用尽可能简单的类,可以包含属性、方法等,但是方法不能实现持久化逻辑,也就是说POCO也可以包含业务逻辑。Code First 优点如下:

  • 可以创建一个更富有逻辑、更灵活的应用程序;
  • 因为没有自动生成难以修改的代码,所以我们可以对代码完全控制;
  • 只需要定义映射,其余一切交给Entity Framework来处理;
  • 可以用修改代码的方式来修改数据库;
  • 可以使用它来映射表结构到一个已存在的数据库。

2.Model First Model First 允许我们使用实体设计器在空模型中创建模型实体,及其关系和继承层次结构,然后创建数据库。优缺点如下:

  • 无法控制实体和数据库,因为自动生成的代码难以修改,但是对于小型且简单的项目,它仍行之有效;
  • 在实体中添加额外的功能,不得不修改T4模板或者使用部分类来完成;
  • 数据库模型的更改不是最佳选择,因为是由模型定义了数据库。

3. Data First Data First 使我们能够从现有数据库创建模型,减少了自动生成代码所需编写的代码量,也限制了我们使用生成代码的结构。优缺点如下:

  • 如果已有DBA设计的数据来单独开发或已存在数据库,将作为首选
  • 通过EDM向导为我们创建实体、关系和继承层次结构,修改映射后还可以生成实体;
  • 要在实体中添加额外的功能,必须通过T4修改模板或者使用部分类;
  • 数据库的手动更改变为可能,如果要修改数据库表结构,只需要从数据库更新实体模型即可。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/05/11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 零、什么是Entity Framework
  • 一、领域建模方式
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档