EFCore+.NET8:使用Oracle数据库提交大图片文件需要指定BLOB类型 目录 解决方案 1、ModelBuilder 指定字段类型 2、Model 模型的属性指定字段类型 解决方案 1、ModelBuilder 指定字段类型 C# 全选 builder.Entity<dt_Images>().Property(p => p.ImgLarge).HasColumnName(nameof(dt_Images.ImgLarge))…
/archive/1/arc-1-20241020-4823.htm 2024-10-20
目录 错误原因 解决方案 相关问题 解决方案 OracleException: ORA-01465: 无效的十六进制数字 错误原因 Oracle数据库类型定义为:BLOB,而EF模型定义的类型是String,导致保存数据报错。 解决方案 Oracle数据库类型定义为:CLOB,长字符串,支持4GB内容。 相关问题 ORA-00932: 数据类型不一致: 应为BLOB,但却获得 CLOB 解决方案 检查Oracle字段类型,与EF模型的类…
/archive/1/arc-1-20241020-4822.htm 2024-10-20
.NETCore使用EF保存图片报错:OracleExceptiol: ORA-01460:转换请求无法实施或不合理 目录 错误原因 解决方案 错误原因 由于C# 类型(byte[])存入 Oracle DB 中的 Blob 类型,在数据超出32K长度后会出现ORA-01460错误。 解决方案 使用ModelBuilder定义字段类型: C# 全选 builder.Entity<dt_Images>().Property(p => p.…
/archive/1/arc-1-20241020-4821.htm 2024-10-20
使用EF+Linq或Sql存储过程获取报表数据优缺点分析 目录 前言 EFCore+Linq查询 Sql 存储过程 C#,调用存储过程: Sql存储过程 员工档案报表 前言 本文讲解 使用EF+Linq或Sql存储过程获取报表数据优缺点分析。 下面以员工档案报表举例说明。 EFCore+Linq查询 优点:无数据迁移相关问题(无Sql脚本,无存储过程) 缺点: 查询 算法程序硬编码,当报表增删字段,需要重新发布版本才能使用。 C# 全选…
/archive/1/arc-1-20241020-4819.htm 2024-10-20
DevExpress XtraReport报表设计非常简单,按照下面的步骤轻松完成。 目录 新增一份XtraReport报表 报表设计器 (Report Designer) 绑定数据字段 (Binding Data Field) 金额或数量汇总 (Report Summary) 系统变量/系统函数 System Variables C#代码参考 单表:设置报表数据源SetReportDataSource方法 主从表:设置报表数据源Set…
/archive/1/arc-1-20241020-4818.htm 2024-10-20
目录 解决方案 VS2022编译解决方案为什么会生成2级Debug子目录,如下图: 解决方案 检查项目配置文件,在Project上双击打开项目配置文件,必须定义<OutputPath></OutputPath>属性。 XML 全选 <BaseOutputPath>..\Debug\</BaseOutputPath> <OutputPath>..\Debug\</OutputPath> 专注.NET技术、C/S架构开发框架软件 C/S框架…
/archive/1/arc-1-20241020-4817.htm 2024-10-20
Oracle:EFCore使用OracleBulkCopy实现批量导入数据 目录 CSFramework.EF.OracleDatabase 测试代码 测试结果 CSFramework.EF.OracleDatabase BulkInsert 方法: C# 全选 public int BulkInsert<T>(List<T> entities, string tableName = null) { if (String.IsNullO…
/archive/1/arc-1-20241020-4816.htm 2024-10-20
使用System.Data.OracleClient组件搭建Oracle数据库连接获取DataTable C# 全选 public DataTable GetDemoData() { var conn = System.Data.OracleClient.OracleClientFactory.Instance.CreateConnection(); conn.ConnectionString = "Data Source=(DESCR…
/archive/1/arc-1-20241020-4815.htm 2024-10-20
目录 Oracle数据库元数据查询(数据库、表结构、存储过程) 查询表结构 数据库名称连接方式 服务名称连接方式 Oracle数据库元数据查询(数据库、表结构、存储过程) SQL 全选 -- 获取所有数据库名称 select db_unique_name from v$Database select distinct owner from all_tables order by owner -- 查表的字段信息 SELECT * FRO…
/archive/1/arc-1-20241020-4814.htm 2024-10-20
CSFrameworkV6旗舰版 - 表格多选操作删除记录 目录 显示复选框 获取勾选的记录主键值 调用删除方法 显示复选框 数据查询页面的表格默认不可修改数据,需求通过代码显示复选框: C# 全选 gvSummary.AllowGridMultiSelect(); 专注.NET技术、C/S架构开发框架软件 C/S框架网 - C/S开发框架 AllowGridMultiSelect 是个扩展方法: C# 全选 /// <summary>…
/archive/1/arc-1-20241020-4813.htm 2024-10-20
CSFrameworkV6旗舰版 - 导入导出Excel文件数据开发教程 目录 一、前言 二、设计思路 Excel模板文件参考 Excel模板对应的实体模型 临时数据模型(中间数据) 三、开发流程 初始化按钮 导出模板文件按钮事件:DoExportTemplate 方式1:直接另存为模板文件(不含数据) 方式2:导出模板文件(包含数据) 导入模版数据按钮事件:DoImportExcelData 主要逻辑 DAL层 Import 方法实现…
/archive/1/arc-1-20241020-4812.htm 2024-10-20
C#.NET反射获取Form窗体中所有的方法Method C# 全选 var type = this.GetType(); var list = this.GetType().GetMethods(BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public) .ToList().Where(w => w.DeclaringType == type).Order…
/archive/1/arc-1-20241020-4811.htm 2024-10-20
MySql数据库连接字符串(ConnectionString)配置参数大全 目录 应用场景 应用场景 MYSQL数据库连接字符串(connectionString)各个配置参数详细解释. 方便我们平时优化和管理数据库和数据库集群的连接配置,通过提升数据库连接池等的策略(例如:Pooling,MaxPoolSize,ConnectionLifeTime等)来提升整体数据库应用的性能 SQL 全选 Database=dbname;Data …
/archive/1/arc-1-20241020-4810.htm 2024-10-20
EFCore+LINQ 使用DebugView查看LINQ转译后的原生SQL 目录 LINQ查询 设断点跟踪Query SqlServer数据库多条件查询Demo Linq代码 转为Sql脚本 LINQ查询 C# 全选 public bool DeletePackageByKeys(List<string> listKeys) { var q = _Database.GetQueryable<sys_UpgraderPackageTab…
/archive/1/arc-1-20241020-4809.htm 2024-10-20
C# 全选 try { //省略代码 } catch (Exception ex) { this.log(MethodBase.GetCurrentMethod().Name +":" + ex.Message); } 专注.NET技术、C/S架构开发框架软件 C/S框架网 - C/S开发框架
/archive/1/arc-1-20241020-4808.htm 2024-10-20
EFCore+Linq高效批量删除包含图片及大文本的数据两种性能对比 目录 测试条件 方式一:使用DbContext的RemoveRange()方法 测试结果:1~3s,实体对象越多,效率越低! 方式二:使用仅包含key属性的实体类 (推荐使用) 测试结果:毫秒级删除资料! 反编译DbContext.RemoveRange方法的代码 测试条件 使用两种方法分别删除5条数据,每条数据大概7MB。 方式一:使用DbContext的Remov…
/archive/1/arc-1-20241020-4807.htm 2024-10-20
重写DbContext的保存方法,避免多个DbContext实例跟踪相同的实体发生错误 目录 重写DbContext.SaveChanges方法 使用方法 重写DbContext.SaveChanges方法 C# 全选 /// <summary> /// 重写DbContext的保存方法,避免多个DbContext实例跟踪相同的实体发生错误 /// </summary> /// <returns></returns> public ov…
/archive/1/arc-1-20241020-4806.htm 2024-10-20
CSFrameworkV6:Toolbar功能按钮的子按钮设置多语言 目录 DevBarListButton 类 AddSubButton 修复Bug CSFrameworkV6.Library.Extensions.DevExpressExtensions 添加一个扩展方法 重写窗体的 SetLanguage 方法 效果 DevBarListButton 类 AddSubButton 修复Bug C# 全选 public void A…
/archive/1/arc-1-20241020-4805.htm 2024-10-20
CSFrameworkV6 - MES项目过站插件开发教程 目录 一、MES过站总体设计方案 二、SFCLib.dll(Project介绍) frmBaseClient界面 FormArg.cs 点击菜单打开过站窗体 主要接口介绍 三、过站大模块设计 CSFrameworkV6.MESProduction(Demo模块) 主要特征 frmModuleMain 大模块主窗体 四、MesLoader 类介绍 主要功能 LoadMenu方法:…
/archive/1/arc-1-20241020-4803.htm 2024-10-20
CSFrameworkV6旗舰版-动态加载菜单Demo 目录 菜单效果 从服务器读取菜单数据 递归加载模块主窗体的菜单 菜单数据模型 菜单效果 从服务器读取菜单数据 C# 全选 /// <summary> /// 从服务器读取菜单数据 /// </summary> private void LoadMenuFromServer() { const string rootMenuId = "HFSMTDEV"; const int Mod…
/archive/1/arc-1-20241020-4802.htm 2024-10-20