source/Repid.Core/DbSet/TreeDbSet.cs
(开头部分) 3KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Linq;
using Repid.Entity;
namespace Repid.Core.DbSet
{
/// <summary>
/// 树形数据
/// </summary>
/// <typeparam name="T">实体类型</typeparam>
internal class TreeDbSet<T> : OrderDbSet<T> where T : EntityTree, new()
{
/// <summary>
/// 更新对象的路径
/// </summary>
/// <param name="entity">实体</param>
private void UpdatePath(T entity)
{
if (!entity.Pid.Equals("0"))
{
T parent = Get(entity.Pid);
entity.Path = parent.Path + parent.ID + "|";
}
else { entity.Path = "|0|"; }
}
/// <summary>
/// 添加实体重写
/// </summary>
/// <param name="entity">实体</param>
internal override void Added(T entity)
{
entity.InitializationID();
entity.InsertTime = DateTime.Now;
entity.UpdateTime = DateTime.Now;
if (entity.Sequence == 0)
{
entity.Sequence = MaxSequence() + 1;
}
UpdatePath(entity);
dbContext.Ef.Set<T>().Attach(entity);
dbContext.Ef.Entry<T>(entity).State = EntityState.Added;
}
/// <summary>
/// 更改实体重写
/// </summary>
/// <param name="entity">实体</param>
internal override void Modified(T entity)
{
entity.UpdateTime = DateTime.Now;
List<T> entities = new List<T> { entity };
后面还有 70 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。