如何将普通类.cs转换为DataModel.dbml
本文关键字:转换 DataModel dbml cs | 更新日期: 2023-09-27 18:27:22
我的旧项目有20个具有x00s属性的class.cs现在我想使用EntityFramework
但是我不想从头重写所有这些课
我只想将这个类转换为DataModel.dbml,或者使用一些类似于添加现有项的东西我尝试创建同名的类并复制其中的代码,但编辑器在保存后将其清除
我该怎么做?
web上有大量关于Plain Old CLR对象和实体框架代码优先模型的资源。
-
ADO.NET EF 4.0:使用普通的旧CLR对象(POCO)类
-
代码一步一步教程
但其要点是:
- 实体框架>4.0支持POCO类型,这些类型不需要从基类或实现任何接口以获得持久性。也不需要元数据或映射属性,因此您可以将现有代码用作简单的实体类
- 仍然需要包含概念模型的EDMX文件。将新的ADO.NET实体数据模型添加到项目中
- 使用工具箱,从工具箱中拖动实体和关联,然后设计概念模型。只需确保POCO类上的名称与概念实体的名称匹配即可
- 添加实体键就像在数据库中添加主键一样。在数据库中添加类似外键的关联
- 在解决方案资源管理器中,单击EDMX文件,然后在"属性"窗口中,清除"自定义工具"属性以关闭概念模型的.NET类的自动生成
- 右键单击edmx设计区域,然后选择"从模型生成数据库"。将生成DDL。运行它来创建数据库
- 确保您的POCO类和POCO edmx模型在单独的程序集中
- 使用
ObjectSet<T>
成员创建自定义的ObjectContext
派生数据上下文,如下所示。较新的EF版本使用System.Data.Entity.DbContext
和System.Data.Entity.DbSet<T>
- 您也可以使用dbml(Linq-To-Sql类而不是EF),但您仍然需要从头开始生成模型,就像使用EF一样