using System.ComponentModel;
using Yitter.IdGenerator;
namespace Common.Repository.Core
{
///
/// 数据库Id为numberic类型的数据实体使用该基类,用法同Entity
/// 数据库Id字段为numberic(16,0)或以上长度的整型,采用雪花算法生成Id。
///
public class LongEntity : BaseEntity
{
[Browsable(false)]
public decimal Id { get; set; }
public override bool KeyIsNull()
{
return Id == 0;
}
static LongEntity()
{
//设置参数,程序初始化时执行一次
var options = new IdGeneratorOptions()
{
Method = 1,
WorkerId = 1
};
YitIdHelper.SetIdGenerator(options);
}
///
/// 采用雪花算法计算Id
///
public override void GenerateDefaultKeyVal()
{
Id = YitIdHelper.NextId();
}
}
}