SourceCode/RFrameGenerate.Model/IEntity/EntityBase.cs
(开头部分) 2KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using RFramework;
namespace RFrameGenerate.Model
{
/// <summary>
/// 数据记录基类
/// </summary>
public abstract class EntityBase<T>
{
/// <summary>
/// 数据记录的状态,用于批量更新记录集(UpdateList)
/// </summary>
private EntityStates entityState = EntityStates.Original;
/// <summary>
/// 获取或设置数据记录的状态,用于批量更新记录集(UpdateList)
/// </summary>
public EntityStates EntityState
{
get { return this.entityState; }
set { this.entityState = value; }
}
/// <summary>
/// 实体之间相互转换,只对相同字段赋值,忽略大小写
/// </summary>
/// <typeparam name="T">转换后的类型</typeparam>
/// <returns>返回转换后的对象</returns>
public Result ToEntity<Result>()
{
return CurrentEntity().EntityConvert<Result>();
}
/// <summary>
/// 更新实体
/// </summary>
/// <typeparam name="Result">要更新实体的类型</typeparam>
/// <param name="t">要更新的实体</param>
/// <returns>更新后的实体</returns>
public Result UpdateToEntity<Result>(Result result)
{
try
{
T entity = CurrentEntity();
PropertyDescriptorCollection proT = TypeDescriptor.GetProperties(entity.GetType());
PropertyDescriptorCollection proResult = TypeDescriptor.GetProperties(typeof(Result));
object o;
foreach (PropertyDescriptor v in proResult)
{
PropertyDescriptor r = proT.Find(v.Name, false);
if (r != null)
{
o = r.GetValue(entity);
v.SetValue(result, o);
}
后面还有 21 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。