EPR类企业管理系统

在我们现有系统基础上或全新开发,提供定制服务
为您的企业高效快速实施ERP,WMS,MES,CRM管理系统
全面管控物料仓库、销售业务、采购业务、仓库业务
生产过程、质量检验、组织架构、业务报表


定制
QQ:460-3528

开发
QQ群:3360-90194

源码
微信:136-3650-3721

如何:使用位于外部程序集中的Entity Framework数据模型

如果您有非XAF应用程序,并且想要开发利用相同数据库的XAF应用程序,则可以为现有数据库生成业务类以完成此任务。但是,如果您现有的应用程序基于Entity Framework数据模型,则可以在XAF中重用此模型以避免代码重复。本主题描述如何使用位于外部程序集中的数据模型。

注意

如果外部部件是XAF模块,则无需遵循此主题。XAF模块内声明的实体将被自动识别并添加到应用程序模型中。

  1. 使用DevExpress v 19.2 XAF解决方案向导创建一个新的XAF解决方案。在“选择ORM”步骤中首先选择“实体框架代码,然后单击“完成”
  2. 引用包含要使用的Entity Framework数据模型的外部程序集。
  3. 的DbContext类是需要使用实体从外部组件。要声明它,请执行以下一项操作。

    • 在模块项目中,继承在外部程序集中声明的DbContext。
    • 将所需的实体类型从外部程序集添加到位于BusinessObjects / MySolutionDbContext.cs(MySolutionDbContext.vb)文件中的现有DbContext
  4. 运行模块设计器。在“导出的类型”部分中,展开“引用的程序集”节点。然后,展开与外部程序集对应的节点。选择要添加的实体,然后按空格键,或使用上下文菜单中的“在应用程序中使用类型”命令。所选实体将以粗体标记。这意味着它们已被添加到“应用程序模型”中,并将参与UI的构建过程。

    EF_ExternalAssembly_ModuleDesigner

    注意

    或者,您可以在代码中添加实体。打开Module.csModule.vb)文件,然后将所需的实体类型添加到模块构造函数中的ModuleBase.AdditionalExportedTypes集合中。

  5. 重建解决方案,以便将在Designer中所做的更改加载到“应用程序模型”中,然后运行“模型编辑器”。确保在上一步中添加的实体在BOModel节点中可用。

    EF_ExternalAssembly_ModelEditor

  6. 按照“将项目添加到导航控件”教程中描述的步骤,为添加的实体添加导航项目。

    EF_ExternalAssembly_Navigation

  7. 确保通过位于WinApplication.cs(WinApplication.vb)和WebApplication.cs(WebApplication.vb)文件中的CreateDefaultObjectSpaceProvider方法将正确的DbContext类型传递给应用程序的对象空间提供程序。有关详细信息,请参阅“使用实体框架数据模型”主题的“指定实体容器(上下文)”部分。
相关文章

转载保留此链接,注明出处