using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations.Schema; using System.Linq; using System.Reflection; using System.Text; using System.Threading.Tasks; namespace Estsh.Core.Dapper { public static class EntityExtensions { public static string? GetEntityColumnName(this Type type, string propertyName) { var entityProperty = type.GetProperties().FirstOrDefault(p => p.Name.ToLower() == propertyName.ToLower()); if (entityProperty != null) { var entityColumn = entityProperty.GetCustomAttributes().FirstOrDefault(); if (entityColumn != null) { return entityColumn.Name; } } return propertyName; } public static string? GetEntityTableName(this Type type) { return type.GetCustomAttribute(false)?.Name; } /// /// 属性判断待完善 /// /// public static IEnumerable GetEntityProperties(this Type type) { return type.GetProperties().Where( x => !x.PropertyType.IsGenericType && x.PropertyType.GetInterface("IList") == null || x.PropertyType.GetInterface("IEnumerable", false) == null); } } }