mirror of
https://gitee.com/dotnetchina/OpenAuth.Net.git
synced 2025-09-20 02:29:24 +08:00
32
OpenAuth.Repository/Core/LongEntity.cs
Normal file
32
OpenAuth.Repository/Core/LongEntity.cs
Normal file
@@ -0,0 +1,32 @@
|
||||
using System.ComponentModel;
|
||||
using Yitter.IdGenerator;
|
||||
|
||||
namespace OpenAuth.Repository.Core
|
||||
{
|
||||
/// <summary>
|
||||
/// 数据库Id为numberic类型的数据实体使用该基类,用法同Entity
|
||||
/// 数据库Id字段为numberic(16,0)或以上长度的整型,采用雪花算法生成Id。
|
||||
/// </summary>
|
||||
public class LongEntity :BaseEntity
|
||||
{
|
||||
[Browsable(false)]
|
||||
public long Id { get; set; }
|
||||
public override bool KeyIsNull()
|
||||
{
|
||||
return Id == 0;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 采用雪花算法计算Id
|
||||
/// </summary>
|
||||
public override void GenerateDefaultKeyVal()
|
||||
{
|
||||
// 全局初始化设置WorkerId,默认最大2^16-1。(初始化过程全局只需一次,且必须最先设置)
|
||||
var options = new IdGeneratorOptions(){ WorkerId = 1};
|
||||
IIdGenerator IdHelper = new YitIdGenerator(options);
|
||||
|
||||
// 初始化以后,就可以在需要的地方调用方法生成ID。
|
||||
Id = IdHelper.NewLong();
|
||||
}
|
||||
}
|
||||
}
|
31
OpenAuth.Repository/Core/StringEntity.cs
Normal file
31
OpenAuth.Repository/Core/StringEntity.cs
Normal file
@@ -0,0 +1,31 @@
|
||||
using System;
|
||||
using System.ComponentModel;
|
||||
|
||||
namespace OpenAuth.Repository.Core
|
||||
{
|
||||
/// <summary>
|
||||
/// 主键为字符串的实体基类,为系统默认的实体类型
|
||||
/// </summary>
|
||||
public class StringEntity : BaseEntity
|
||||
{
|
||||
[Browsable(false)]
|
||||
public string Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 判断主键是否为空,常用做判定操作是【添加】还是【编辑】
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public override bool KeyIsNull()
|
||||
{
|
||||
return string.IsNullOrEmpty(Id);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 创建默认的主键值
|
||||
/// </summary>
|
||||
public override void GenerateDefaultKeyVal()
|
||||
{
|
||||
Id = Guid.NewGuid().ToString();
|
||||
}
|
||||
}
|
||||
}
|
@@ -5,7 +5,7 @@ namespace OpenAuth.Repository.Core
|
||||
/// <summary>
|
||||
/// 树状结构实体
|
||||
/// </summary>
|
||||
public abstract class TreeEntity: Entity
|
||||
public abstract class TreeEntity: StringEntity
|
||||
{
|
||||
/// <summary>
|
||||
/// 节点语义ID
|
||||
|
Reference in New Issue
Block a user