NeuCharFramework (NCF)
  • NCF - NeuCharFramework
  • 项目

    • 准备
    • 基础库源码分析
    • 动态WebApiEngine
    • 部署
    • MCP (Model Context Protocol) 模块
    • Senparc.AI
  • 帮助

    • 在线资源
    • 问答社区
    • QQ群(147054579)
    • Senparc微信SDK
  • Gitee
  • GitHub
  • English
  • 简体中文
GitHub
  • NCF - NeuCharFramework
  • 项目

    • 准备
    • 基础库源码分析
    • 动态WebApiEngine
    • 部署
    • MCP (Model Context Protocol) 模块
    • Senparc.AI
  • 帮助

    • 在线资源
    • 问答社区
    • QQ群(147054579)
    • Senparc微信SDK
  • Gitee
  • GitHub
  • English
  • 简体中文
GitHub
  • NCF 基础库

    • Senparc.Ncf.Core
    • Senparc.Ncf.Repository
    • Senparc.Ncf.Service
    • Senparc.Ncf.SMS
    • Senparc.Ncf.Mvc.UI
    • Senparc.Ncf.Log
    • Senparc.Ncf.Utility
    • Senparc.Ncf.XncfBase
    • Senparc.Ncf.AreaBase
    • Senparc.Ncf.DatabasePlant
  • Senparc.Ncf.AreaBase

    • IXncfRegister 接口

Senparc.Ncf.DatabasePlant

Plant 意为“车间”,对战斗机来说,更像是“停机坪”,这意味着当你准备检修战斗机(模块)的时候,需要用到它。

用途

因为有了所有数据库 DatabaseConfiguration 的引用,这就意味着:一旦项目(模块)引用了 Senparc.Ncf.DatabasePlant,那么就可以获得操作所有(已经实现的)数据库的能力。

但是我们也知道,如果带着一堆数据库的 Providers 部署到生产环境,是一个负担(虽然通常对运行效率并不会有影响), 因此,我们只建议在“检修”(Debug)的时候去使用它,而在生产环境屏蔽它,为了能够顺利切换这两个场景,我们可以在引用 Senparc.Ncf.DatabasePlant 的时候,加上编译条件,如:

<ProjectReference Condition=" '$(Configuration)' != 'Release' " Include="..\..\..\Basic\Senparc.Ncf.DatabasePlant\Senparc.Ncf.DatabasePlant.csproj" />

这也正是“停机坪”名称的由来:我们只在 Debug 的时候让项目“躺”在停机坪上,可以对数据库进行比如 Migration(迁移) 等各类针对多有数据库的批量操作, 而当 NCF 起飞(Release)后,这个包会被自动忽略,不会给系统带来额外的负担。

应用

Senparc.Ncf.DatabasePlant

在 GitHub 上编辑此页
上次更新:
贡献者: MLTechnology
Prev
Senparc.Ncf.AreaBase