Net8下使用FreeSql访问达梦v8数据库

数据库用户(User)和模式(Schema)

为确保FreeSql正确访问数据库,项目中使用的用户名与模式名应一致

连接字符串(ConnectionString)

FreeSql的达梦连接格式如:

"Server=192.168.2.14:5236;User Id=SA;PWD=123$Oops;DATABASE=TestDB;poolsize=5"

注意:此处的DATABASE是你在达梦管理工具中新建实例时设定的数据库名
appsettings.json示例:

{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft.AspNetCore": "Warning"
    }
  },
  "AllowedHosts": "*",
  "ConnectionStrings": {
    "DMv8": "Server=192.168.2.14:5236;User Id=SA;PWD=123$Oops;DATABASE=TestDB;poolsize=5"
  }
}

依赖注入

Program.cs片段:

...
var builder = WebApplication.CreateBuilder(args);
var configuration = builder.Configuration;
var fsql = new FreeSqlBuilder()
    .UseConnectionString(DataType.Dameng, configuration.GetConnectionString("DMv8"))
   .UseAutoSyncStructure(true)
    .Build();
builder.Services.AddControllers();
...
builder.Services.AddSingleton(fsql);

在控制器中调用

注:由于DbContext 不是线程安全的,本例取自某注重高并发的现有项目国产化迁移故而未采用,如需采用DbContext具体见FreeSql相关说明

public class TestController(IFreeSql fsql) : ControllerBase
{
        private readonly IFreeSql _fsql = fsql;

        [HttpGet]
        [Route("QueryTest/{deptno}")]
        public ActionResult<ApiResult> QueryTest(string deptno)
        {
                var query = _fsql.Select<TestTable>().Where(r => r.DPT == Convert.ToInt32(deptno.Trim()) && r.Status == 0).ToList();
                ...
                ...
        }
}
  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值