Entity Framework简介

简介: Entity Framework简介

零、什么是Entity  Framework

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


一、领域建模方式

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


1.Code First


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


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


2.Model First


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


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


3.Data First


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


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


目录
相关文章
|
Java Maven
Maven配置阿里云镜像
在setttins.xml文件中找到标签对,进行修改: 1 2 3 nexus-aliyun 4 * 5 Nexus aliyun 6 http://maven.
94456 0
|
4月前
|
人工智能 安全 机器人
麻省理工科技评论发布2026年十大突破性技术,AI独占四席
《麻省理工科技评论》2026年“十大突破性技术”榜单发布,AI技术占据四席,涵盖超大规模数据中心、机制可解释性、AI陪伴与生成式编码,彰显其主导地位。榜单不仅反映技术从“能做”到“该做”的转向,更揭示AI正深度融入社会骨骼,推动算力、伦理与产业变革,开启智能新纪元。
1041 7
|
7月前
|
机器学习/深度学习 人工智能 缓存
面向边缘通用智能的多大语言模型系统:架构、信任与编排——论文阅读
本文提出面向边缘通用智能的多大语言模型(Multi-LLM)系统,通过协同架构、信任机制与动态编排,突破传统边缘AI的局限。融合合作、竞争与集成三种范式,结合模型压缩、分布式推理与上下文优化技术,实现高效、可靠、低延迟的边缘智能,推动复杂场景下的泛化与自主决策能力。
672 3
面向边缘通用智能的多大语言模型系统:架构、信任与编排——论文阅读
|
7月前
|
SQL Java 数据库连接
MyBatisPlus
MyBatisPlus是MyBatis的增强版,致力于简化Java持久层开发。它在保留MyBatis灵活性的基础上,通过自动化CRUD、优雅的条件构造器、分页插件等特性,大幅提升开发效率。其“半自动化”设计平衡了便捷与可控,完美融合Spring Boot生态,支持多种数据库与现代架构,兼具性能优化与团队协作优势,是企业级开发的智慧之选。(238字)
|
10月前
高维结构投影系列(四):从弦理论到M理论:有点盲人摸象
本文探讨现代物理统一理论的困境,指出弦理论、M理论等或如“盲人摸象”,从不同维度投影描述同一高维结构。看似复杂的多维理论,实为低维语言对高维张力体的不完整表达。真正的突破,或在于理解宇宙的“投影机制”本身。
422 1
|
监控 数据可视化 算法
基于高德MCP2.0的智能旅游攻略系统设计与实现
MCP2.0(Map-based Collaborative Planning)是新一代旅游攻略系统,通过Web端可视化界面与高德地图API深度集成,实现了从静态攻略到动态智能规划的升级。系统核心功能包括可视化地图生成、高德地图APP深度集成、智能行程规划、实时路况优化和多端同步。技术栈采用Vue.js、Node.js、MongoDB和WebSocket,支持实时通信和数据同步。系统通过智能算法优化行程,结合实时路况动态调整路线,提升用户体验。未来发展方向包括AI推荐、AR导航和多语言支持,进一步扩展系统的
741 4
基于高德MCP2.0的智能旅游攻略系统设计与实现
|
10月前
|
编解码 vr&ar 芯片
详解工业AR眼镜关键技术之光学篇
AR眼镜的光学技术是影响显示效果与佩戴体验的核心,主要包括微显示与光波导技术。微显示决定分辨率、亮度与色彩表现,主流方案有LCOS、Micro-OLED与Micro-LED;光波导则实现轻薄化设计,分为几何波导与衍射波导,分别侧重亮度与厚度控制。未来发展方向为更轻薄、大视场角与低成本。
|
数据采集 监控 数据管理
智能数据建设与治理 Dataphin深度评测
作为一名金融行业数据分析师,我在构建反洗钱监测系统时深度使用了阿里云DataPhin。以下从合规能力、核心功能实践及待优化体验三方面进行评测:1) 合规能力上,细粒度权限控制满足监管要求,数据质量校验有效降低人工成本;2) 核心功能中,开发协作加速模型迭代,数据服务API支撑实时决策;3) 待优化方面,元数据管理和监控预警系统需增强。同时提出开发金融合规模板、融合区块链技术等建议,助力提升金融场景适用性。
363 19
|
监控 Java 测试技术
2025年Postman的五大替代工具
Postman虽是广受青睐的API测试工具,但仍存在协作功能有限、执行限制及语言支持单一等问题。为此,本文推荐10款强大替代工具,如Apipost、Rapid、Insomnia、Swagger UI和SoapUI等。这些工具各具特色,涵盖轻量级调试、跨平台兼容、自动化测试及负载测试等功能,满足不同用户需求。选择适合的工具,可显著提升API开发与测试效率。
|
监控 安全 网络安全
边界防护
【8月更文挑战第18天】
1028 2

热门文章

最新文章