官网有解决办法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方法();`
};