达梦数据库.NETCore.NET8实践指南|C/S软件开发框架
达梦数据库.NETCore.NET8实践指南|C/S软件开发框架
目录
达梦数据库
国内领先的数据库产品开发服务商,国内数据库基础软件产业发展的关键推动者。公司为客户提供各类数据库软件及集群软件、云计算与大数据等一系列数据库产品及相关技术服务,致力于成为国际顶尖的全栈数据产品与解决方案提供商。
达梦数据库下载
官网下载地址:https://www.dameng.com/list_103.html
达梦数据库安装指南
安装指南:https://www.cscode.net/archive/newdoc/608532478009349.html
达梦数据库客户端管理工具 - DM管理工具
客户端管理工具操作指南:https://www.cscode.net/archive/newdoc/608532478009349.html#mcetoc_1ibrrlmes2
达梦数据库 - DM数据库迁移工具
数据库迁移指南:https://www.cscode.net/archive/newdoc/608562837348357.html
.NETCore | .NET8实践
数据库连接字符串
C# 全选
Server=localhost;Port=5236;Uid=SYSDBA;Pwd=12345654321;
达梦数据库DmDbContext
C# 全选
/// <summary>
/// 达梦数据库DbContext| www.csframework.com demo案例
/// </summary>
public class DmDbContext : DbContext
{
public DmDbContext(DbContextOptions<DmDbContext> options) : base(options) { }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseDm("Server=localhost;Port=5236;Uid=SYSDBA;Pwd=12345654321;");
base.OnConfiguring(optionsBuilder);
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
//注入测试用的模型
modelBuilder.Entity(typeof(dt_Customer));
modelBuilder.Entity(typeof(tb_DataSet));
}
/// <summary>
/// 获取查询接口
/// </summary>
/// <typeparam name="T"></typeparam>
/// <returns></returns>
public IQueryable<T> GetQueryable<T>() where T : class
{
return this.Set<T>().AsQueryable<T>().AsNoTracking();
}
}
测试EF
C# 全选
//创建DbContext实例
var dbContext = new DmDbContext(new DbContextOptions<DmDbContext>());
//测试查询客户表
var q1 = dbContext.GetQueryable<dt_Customer>();
var customer = q1.FirstOrDefault();
Console.WriteLine(customer.CustomerCode + customer.NativeName);
//测试新增客户
var newCustomer = new dt_Customer
{
isid = Guid.NewGuid().ToString(),
CustomerCode = "Code" + DateTime.Now.ToString("ssfff"),//秒+毫秒
NativeName = "客户名称",
EnglishName = "EnglishName"
};
dbContext.Add(newCustomer);
dbContext.SaveChanges(); //保存数据
//测试查询账套表
var q2 = dbContext.GetQueryable<tb_DataSet>();
var ds = q2.FirstOrDefault();
Console.WriteLine(ds.DataSetID + ds.DataSetName);
测试ADO.NET
C# 全选
string connectionString = "Server=localhost;Port=5236;User Id=SYSDBA;Password=12345654321;";
DmConnection connection = new DmConnection(connectionString);
try
{
connection.Open();
Console.WriteLine("数据库连接成功!");
//这里可以执行SQL命令,例如查询或者更新操作
DbCommand command = connection.CreateCommand();
command.CommandText = "SELECT * FROM \"dt_Customer\"";
DataSet ds = new DataSet();
DbDataAdapter adapter = new DmDataAdapter();
adapter.SelectCommand = command;
adapter.Fill(ds);
dataGridView1.AutoGenerateColumns = true;
dataGridView1.DataSource = ds.Tables[0];
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
if (connection.State == ConnectionState.Open)
{
connection.Close();
}
}
CSFramework.EF集成
测试报告:https://www.cscode.net/archive/csframework.ef/608717848842245.html
总结
- 数据库架构类似Oracle。
- 集成到CSFramework.EF数据库框架,开发者使用更简单。
- 达梦数据库DM客户端工具、DM数据库迁移工具非常好用。
- 特殊数据类型测试场景没有全覆盖,不可预知的错误较多,兼容性不够强。
- 貌似DmBulkCopy批导数据都有问题,兼容性不够强。
- 支持国产软件,遵循信创要求,助力信息技术自主创新。
版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
NewDoc C/S框架网