达梦数据库.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框架网  
 
 
 
 



