You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为22.2.3版本Xaf Blazor应用连接MySQL并声明提供程序

XAF Blazor 22.2.3 连接MySQL指南

1. 连接到MySQL的具体步骤

  • 补充安装NuGet包:除了你已导入的mysql.data或mysql.connector,还要安装同版本的DevExpress.ExpressApp.MySql——这是XAF适配MySQL的专属包。
  • 修改连接字符串:打开项目的appsettings.json,找到ConnectionStrings节点,替换为MySQL格式的字符串:
    "ConnectionStrings": {
      "ConnectionString": "server=你的MySQL服务器地址;user id=数据库用户名;password=数据库密码;database=目标库名;charset=utf8;"
    }
    
  • 初始化数据库:启动应用即可,首次运行XAF会自动创建数据库表结构;如果是已有数据库,会自动更新适配。

2. 数据库提供程序的声明位置

在Blazor.Server项目的Program.cs(.NET 6及以上)或Startup.cs(.NET 5)中,找到配置XAF ObjectSpaceProvider的代码块,添加MySQL提供程序的注册:

.NET 6+(Program.cs)代码示例:

builder.ObjectSpaceProviders.AddSecuredXpo((serviceProvider, options) => {
    string connectionString = builder.Configuration.GetConnectionString("ConnectionString");
    options.ConnectionString = connectionString;
    // 用mysql.data时的注册代码
    options.UseCustomDataStoreProvider(() => MySqlConnectionProvider.GetProviderFactory(connectionString));
});

如果用的是mysql.connector,替换为:

options.UseCustomDataStoreProvider(() => MySqlConnectorConnectionProvider.GetProviderFactory(connectionString));

.NET 5(Startup.cs)代码示例:

services.AddXaf(Configuration, builder => {
    builder.ObjectSpaceProviders.AddSecuredXpo((serviceProvider, options) => {
        string connectionString = Configuration.GetConnectionString("ConnectionString");
        options.ConnectionString = connectionString;
        // 注册MySQL提供程序
        options.UseCustomDataStoreProvider(() => MySqlConnectionProvider.GetProviderFactory(connectionString));
    });
});

注意提前导入必要命名空间:using DevExpress.Xpo.DB;,以及using MySql.Data.MySqlClient;(用mysql.data时)或using MySqlConnector;(用mysql.connector时)。

内容的提问来源于stack exchange,提问作者M.Othman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 16:05:04