重写sqlsugar判断列长度的方法

This commit is contained in:
falcon 2023-03-02 10:37:02 +08:00
parent eb66061fa2
commit 128f5f6025

View File

@ -1,4 +1,5 @@
using SqlSugar; using SqlSugar;
using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using System.Linq; using System.Linq;
@ -13,18 +14,15 @@ namespace Falcon.SugarApi.DatabaseDefinitions.EntityServices
{ {
/// <inheritdoc/> /// <inheritdoc/>
public void SetupColumn(PropertyInfo p,EntityColumnInfo c) { public void SetupColumn(PropertyInfo p,EntityColumnInfo c) {
var len = new List<int>(); var len = new List<int> { };
if(p.TryGetAttribute<StringLengthAttribute>(out var sl)) { if(p.TryGetAttribute<StringLengthAttribute>(out var sl)) {
len.Add(sl.MaximumLength); len.Add(sl.MaximumLength);
} }
if(p.TryGetAttribute<MaxLengthAttribute>(out var la)) { if(p.TryGetAttribute<MaxLengthAttribute>(out var la)) {
len.Add(la.Length); len.Add(la.Length);
} }
if (p.TryGetAttribute<SugarColumn>(out var sc)) {
len.Add(sc.Length);
}
if(len.Any()) { if(len.Any()) {
c.Length = len.Max(); c.Length=len.Reduce(c.Length,(m,i) => Math.Max(m,i));
} }
} }
} }