上次谈了下使用EF的“数据库优先”方式创建一个ORM, 今天来接着聊“代码优先”的方式创建一个ORM;
从字面上理解,数据库优先是先创建数据库,代码优先那就肯定是先写代码了,所以,代码优先它是先写代码的,也就是它与数据库优先恰恰相反。
首先我们打开VS2010,创建一个空的ASP.NET MVC 2项目,项目名称命名为:RoRoWoCodeFirst,如下图:
创建成功后的项目结构情况,如下图:
现在我们为这个项目创建一个代码优先的ORM模型,在项目中点鼠标右键,进入“添加”-->“新建项”,在弹出的对话框中选择“数据”,然后创建一个“ADO.NET 实体数据模型”,如下图:
它会默认创建一个Model1.edmx的文件,然后进入下一步,会让你选择是从数据库生成还是从工具箱设计概念模型中生成,这里我们选择从工具箱设计概念模型生成。
选择完毕后,会出现一个空白的界面,左边的工具箱中有我们要使用的工具,如下图:
我们从工具箱中,使用“实体”工具,向空白处拖入一个“实体”,如下图:
他默认创建了一个名为“实体1”的类,并且有一个ID的属性字段,用鼠标在其上方双击,可以对“实体1”进行修改,我们把“实体1”改为“BlogCategory”,然后为其添加属性,最后改为如下结果:
此时,我们查看代码,开发工具已经帮我们生成了ORM的代码,如下图:
上面就是根据我们的设计生成的代码,当然你也可以不使用设计工具,直接手工写出这些代码,也是可以的 ^_^,接下来,如何创建数据库呢?看下面的图:
此时,我们可以根据设计,在界面中点击鼠标右键,选择“根据模型生成数据库”即可得到开发工具根据我们的代码生成所需的数据库SQL代码,用于创建数据库。下次,我将谈谈POCO的方式。
分享到:
相关推荐
在本节中,我们将探讨如何使用Symfony框架中的命令行工具创建和管理数据库表,特别是如何根据Entity类生成数据迁移。Symfony是一个流行的PHP框架,它提供了一种基于注解的方式来定义数据库模型,使得开发者能更方便...
4. 生成模型:使用“代码优先”或“数据库优先”的方法。前者是根据C#或VB.NET类生成数据库,后者是从现有SQLite数据库生成数据模型。 5. 定义实体:在模型设计器中,可以拖放表格,定义实体和它们的关系。 6. 操作...
实体代码生成器是一种高效开发工具,它极大地简化了软件开发者的工作流程,特别是在处理与数据库交互的业务逻辑时。这款特定的“实体代码生成器(多数据库支持)”支持多个主流的数据库系统,包括Microsoft SQL Server...
4. **Entity SQL**:这是EF提供的一种SQL方言,用于在EF上下文中执行查询,可以避免直接编写SQL,保持代码与数据库的解耦。 5. **ADO.NET Entity Data Model Designer (EDM Designer)**:这是一个可视化工具,帮助...
4. **SQL查询与存储过程**:源代码可能包含直接的SQL查询语句,如SELECT、INSERT、UPDATE和DELETE,或者调用数据库中的存储过程来执行更复杂的逻辑。 5. **ASP.NET Web Forms和MVC**:这两种是ASP.NET的主要开发...
如何使用C#中EntityFrameworkCore读写Mysql数据库 https://blog.csdn.net/gs1069405343/article/details/114211697
1、本地执行代码生成工具,可生成controller、service、repository、entity、mapper、mapper.xml的增删改查代码。生成的文件复制到项目路径中,修修改改即可实现大部分CRUD功能。 2、工具不需要导入到项目中,本地...
2. **数据库优先(Database First)和模型优先(Model First)**:尽管代码优先是主流,但EF 6.0仍然支持这两种方式,让开发者可以根据现有的数据库或ER图创建模型。 3. **自动迁移(Automatic Migrations)**:在...
"EF代码优先"、"模型优先"和"数据库优先"是三种主要的工作流,每种都有其独特的优点和适用场景。以下是对这三种策略的详细说明。 首先,"代码优先"(Code First)是EF开发中的主流方法,尤其是在敏捷开发环境中。它...
本文将深入探讨三种常见的.NET框架下的数据库访问技术:ADO.NET SQL、LINQ to SQL以及ADO.NET Entity Framework(EF),并重点分析它们在数据库连接性能上的差异,特别是在插入和读取操作,包括模糊检索方面的表现。...
总的来说,这个工具或框架提供了一种高效的方式来管理与数据库交互的代码,特别是在大型项目中,当数据库表数量庞大时,能够显著提升开发效率。它结合了Oracle数据库的强大功能和代码自动生成的优势,为开发者提供了...
数据库代码自动生成是一种提高开发效率的有效方法,它能够帮助开发者快速构建基于数据库的业务系统,减少手动编写重复性代码的时间。在本主题中,我们将深入探讨这个过程,重点关注"实体类"、"DataAccessAuto"和...
总的来说,这个工具提供了一种高效的方式,将数据库设计转化为可运行的Java代码,极大地简化了开发流程,降低了出错的可能性。在大型项目中,这样的自动化工具尤其重要,它们可以帮助团队保持代码的一致性和整洁性,...
在MySQL中,批处理可能需要特殊处理,因为两种数据库的语法和批处理机制有所不同。这个类可能实现了与MySQL数据库交互时的批处理逻辑,包括但不限于SQL命令的构建、执行和错误处理。 `MySqlMetadataMappingProvider...
在开发过程中,为了提高效率,通常会使用代码生成器来自动化创建数据库实体类和通用业务逻辑代码。"简答Postgresql数据库代码生成器"正是这样一种工具,它能够帮助开发者快速构建与PostgreSQL数据库交互的Java应用。...
同样,查询、更新和删除操作也可以通过类似的方式实现。 对于这个小项目,可能还包括用户界面部分,比如Windows Forms或WPF,用于显示日记列表、添加新条目或编辑已有条目。开发者可以利用MVVM(Model-View-...
这些XML文件提供了另一种方式来定义实体类与数据库表之间的映射,与注解方式互为补充。 7. 使用过程: 生成Java代码后,开发者可以将这些类集成到项目中,使用Hibernate提供的Session接口进行CRUD(创建、读取、...