From 402ff40135b9071b1ce56f4034c33fc581021ff8 Mon Sep 17 00:00:00 2001 From: 2881099 <2881099@qq.com> Date: Mon, 19 Aug 2024 23:35:08 +0800 Subject: [PATCH] =?UTF-8?q?-=20=E5=A2=9E=E5=8A=A0=20TypeHandler=20override?= =?UTF-8?q?=20FluentApi=20=E8=AE=BE=E7=BD=AE=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FreeSql/FreeSqlBuilder.cs | 1 + FreeSql/Internal/Model/TypeHandler.cs | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/FreeSql/FreeSqlBuilder.cs b/FreeSql/FreeSqlBuilder.cs index 35eaee19..2be1d2e5 100644 --- a/FreeSql/FreeSqlBuilder.cs +++ b/FreeSql/FreeSqlBuilder.cs @@ -613,6 +613,7 @@ namespace FreeSql { if (e.Property.PropertyType == typeHandler.Type) { + typeHandler.FluentApi(new ColumnFluent(e.ModifyResult, e.Property, e.EntityType)); if (_dicTypeHandlerTypes.ContainsKey(e.Property.PropertyType)) return; if (e.Property.PropertyType.NullableTypeOrThis() != typeof(DateTime) && FreeSql.Internal.Utils.dicExecuteArrayRowReadClassOrTuple.ContainsKey(e.Property.PropertyType)) diff --git a/FreeSql/Internal/Model/TypeHandler.cs b/FreeSql/Internal/Model/TypeHandler.cs index a07280b8..ed32ba4f 100644 --- a/FreeSql/Internal/Model/TypeHandler.cs +++ b/FreeSql/Internal/Model/TypeHandler.cs @@ -1,4 +1,5 @@ -using FreeSql.Internal.Model.Interface; +using FreeSql.DataAnnotations; +using FreeSql.Internal.Model.Interface; using System; using System.Collections.Generic; using System.Text; @@ -12,12 +13,14 @@ namespace FreeSql.Internal.Model Type Type { get; } object Deserialize(object value); object Serialize(object value); + void FluentApi(ColumnFluent col); } } public abstract class TypeHandler : ITypeHandler { public abstract T Deserialize(object value); public abstract object Serialize(T value); + public virtual void FluentApi(ColumnFluent col) { } public Type Type => typeof(T); object ITypeHandler.Deserialize(object value) => this.Deserialize(value);