使用阿里云 rds MYSQL数据库用的用户注意 返回
如果你使用的是.Net Core 那么请把你的 sqlsuagrcore换成 sqlSugarCore.MySqlConnector
因为mysql.data驱动和阿里云 通过域名连接的mysql数据库 存在不兼容 ,可以用MySqlConnector驱动解决这个问题
热忱回答(6)
-
fate stay night VIP0
2020/12/7或者用 cap 2.6版本以上的用户也使用 sqlSugarCore.MySqlConnector
0 回复 -
粤叶 VIP0
2020/12/8@fate stay night:发现一个 sqlSugarCore.MySqlConnector 与 sqlSugarCore 不兼容的地方
枚举类型 作为查询条件,存在无法转换的问题 sqlSugarCore 可以默认转换 sqlSugarCore.MySqlConnector 不可以
eg:
表:
/// <summary> /// 系统全局配置开启关闭配置 /// </summary> [SugarTable("t_switch_config", "系统全局配置开启关闭配置")] public class t_switch_config { /// <summary> /// 中文别名 /// </summary> [SugarColumn(ColumnName = "alias", ColumnDescription = "中文别名", Length = 128)] public string alias { get; set; } /// <summary> /// 开关名称 /// </summary> [SugarColumn(ColumnName = "title", ColumnDescription = "开关名称", Length = 128)] public string title { get; set; } /// <summary> /// 学校编号 /// </summary> [SugarColumn(ColumnName = "company_id", ColumnDescription = "学校编号", Length = 50)] public string company_id { get; set; } /// <summary> /// 配置值 0否定意义1肯定意义 /// </summary> [SugarColumn(ColumnName = "value", ColumnDescription = "配置值 0否定意义1肯定意义")] //[Range(0, 1)] public bool value { get; set; } /// <summary> /// 主键 /// </summary> [SugarColumn(ColumnName = "id", ColumnDescription = "主键", IsIdentity = true, IsPrimaryKey = true)] public int id { get; set; } }数据库数据:

枚举:
public enum SwitchTitle { /// <summary> /// 是否开启作业快速评价 /// </summary> [DefaultValue(true)] [Description("是否开启作业快速评价")] EnableHomeWorkFastEvaluation, /// <summary> /// 是否开启作业文字评价 /// </summary> [DefaultValue(true)] [Description("是否开启作业文字评价")] EnableHomeWorkTextEvaluation, }代码:
sqlSugarCore 不会报错 sqlSugarCore.MySqlConnector 会报错
public t_switch_config GetModelByCompanyIdAndType(string companyId, SwitchTitle typeCode) { // typeCode enum //title string //var typeCodeStr = typeCode.ToString(); return this.FirstOrDefaultAsync(t => t.company_id.Equals(companyId) && t.title.Equals(typeCode)) }错误信息:
Unable to cast object of type 'Vschool.Common.Enum.SwitchTitle' to type 'System.Int64
0 回复 -
fate stay night VIP0
2020/12/8@粤叶:收到
0 回复 -
fate stay night VIP0
2020/12/8@粤叶:t.title.Equals(typeCode.tostring()) 这样可以解决吗
0 回复 -
粤叶 VIP0
2020/12/8应该不行的,后面 .tostring() 方法需要前提不能放到lambda 表达式
0 回复 -
fate stay night VIP0
2020/12/8@粤叶:下个版本兼容你先提出来
0 回复