字符串被sugar强制转成objectId存入mongo 返回
将数据插入到mongo的时候会自动将数字字母组成的长度为24的字符串转换成objectId,如何避免这种自动转换
热忱回答(14)
-
fate sta VIP0
2周前长度为24的字符串 应该本身就是objectId吧。
0 回复 -
fate sta VIP0
2周前格式发出来看一下。
0 回复 -
八两的QQ号 VIP0
2周前00b07a14e40b3cd0080007f2字符串,就是这样的,然后自动把所有大写字母转小写字母,并且转成了objectId ,实体字段是这样的 public string EPC { get; set; } = string.Empty;
0 回复 -
八两的QQ号 VIP0
2周前这个字段就是一个单纯的字符串,不想要自动大写转小写,也不需要存储成objectId,单纯就是一个字符串
0 回复 -
八两的QQ号 VIP0
2周前多几个字符少几个字符又自动切回string类型,这就导致一个集合同一个字段,插入的数据可能是string类型也可能是object Id类型
0 回复 -
fate sta VIP0
2周前我想想办法
0 回复 -
MongoDbConfig.NoObjectIdFunc = it => it.StartsWith("00");//为true就会排除掉他是objectId var isfalse=SqlSugar.MongoDb.UtilMethods.IsValidObjectId("00b07a14e40b3cd0080007f2");升经到这个 SqlSugar.MongoDbCore 5.1.4.276 这个版本。可以全局排除。
需要注意: 不能把数据库真的OBJECTID排除掉 ,需你自个根据规律处理
0 回复 -
八两的QQ号 VIP0
2周前字符串没规律的,就是字母数字自由组成,我举例只是其中一个可能。没办法不自动转换吗,我Colunm只有声明是objectId的时候才是objectId否则就是原模原样单纯的string,能做到这样吗?
0 回复 -
八两的QQ号 VIP0
2周前只要是string就有可能自动转换,一个字段真的就是都是string突然来个objectId...
0 回复 -
fate sta VIP0
2周前@八两的QQ号:那你就看数据库面存储的规律,不是数据里里面的规律就排除。
0 回复 -
fate sta VIP0
2周前//sqlerver : FOR XML PATH//mysql sqlite : group_concat//oracle : listagg//pgsql :string_aggvarlist= db.Queryable<Order>().Select(it =>new{//names="名字1,名字2,名字3"names=SqlFunc.Subqueryable<custom>().Where(z=>z.oid==it.id).SelectStringJoin(z => z.Name,",")}).ToList();//多字段 不能有null相加 , 字段有null需要加上 z.Name??"".SelectStringJoin(z => SqlFunc.MergeString(z.Name,"-",z.Id.ToString()),",")//去重复.SelectStringJoin(it=>SqlFunc.MappingColumn<string>($"distinct {it.UserId}"),".")0 回复 -
八两的QQ号 VIP0
2周前MongoDbConfig.NoObjectIdFunc这东西能获取到字段名吗?字段名不包含ID的全都按照字符串去处理?
0 回复 -
fate sta VIP0
2周前[SugarColumn(SqlParameterDbType=typeof(CommonPropertyConvert))]//CommonPropertyConvertORM自带的publicstring DcValue {get;set; }你看看加个这个转换行不行。
0 回复 -
八两的QQ号 VIP0
2周前不行,没用,就是会自动转换
0 回复