sqlsugar 使用雪花Id Javascript精度问题

49 阅读1分钟

官网有解决办法www.donet5.com/home/doc?ma…

方式1: 

精度long没有19位长度,所以序列化雪花ID时要序列化成string

[Newtonsoft.Json.JsonConverter(typeof(ValueToStringConverter))] //JsonConverter的命名空间不要搞错了
[SugarColumn(IsPrimaryKey =true)] 
public long Id { get; set; }

//配置API使用JSON.NET
//Nuget安装 Microsoft.AspNetCore.Mvc.NewtonsoftJson`
services.AddControllers().AddNewtonsoftJson(opt =>
{
               //忽略循环引用`
                opt.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
                //不改变字段大小
                opt.SerializerSettings.ContractResolver = new DefaultContractResolver(); 

});

方式2:

使用短雪花ID ## 自定义雪花ID算法

//程序启动时执行一次就行
StaticConfig.CustomSnowFlakeFunc = () =>
{
      return` `你的雪花ID方法();`
};