mirror of
				https://github.com/nsnail/FreeSql.git
				synced 2025-11-04 17:20:49 +08:00 
			
		
		
		
	- 修复 Guid -> MapType(string) 在 FreeSql.DbContext 的类型转换错误;
This commit is contained in:
		@@ -120,13 +120,6 @@
 | 
			
		||||
            清空状态数据
 | 
			
		||||
            </summary>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="M:FreeSql.DbSet`1.RemoveAsync(System.Linq.Expressions.Expression{System.Func{`0,System.Boolean}})">
 | 
			
		||||
            <summary>
 | 
			
		||||
            根据 lambda 条件删除数据
 | 
			
		||||
            </summary>
 | 
			
		||||
            <param name="predicate"></param>
 | 
			
		||||
            <returns></returns>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="M:FreeSql.DbSet`1.Add(`0)">
 | 
			
		||||
            <summary>
 | 
			
		||||
            添加
 | 
			
		||||
@@ -457,14 +450,5 @@
 | 
			
		||||
            <param name="that"></param>
 | 
			
		||||
            <returns></returns>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="M:Microsoft.Extensions.DependencyInjection.FreeSqlRepositoryDependencyInjection.AddFreeRepository(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action{FreeSql.FluentDataFilter},System.Reflection.Assembly[])">
 | 
			
		||||
            <summary>
 | 
			
		||||
            批量注入 Repository,可以参考代码自行调整
 | 
			
		||||
            </summary>
 | 
			
		||||
            <param name="services"></param>
 | 
			
		||||
            <param name="globalDataFilter"></param>
 | 
			
		||||
            <param name="assemblies"></param>
 | 
			
		||||
            <returns></returns>
 | 
			
		||||
        </member>
 | 
			
		||||
    </members>
 | 
			
		||||
</doc>
 | 
			
		||||
 
 | 
			
		||||
@@ -18,6 +18,7 @@ namespace FreeSql.Tests.SqlServerMapType
 | 
			
		||||
 | 
			
		||||
        class ToStringMap
 | 
			
		||||
        {
 | 
			
		||||
            [Column(MapType = typeof(string))]
 | 
			
		||||
            public Guid id { get; set; }
 | 
			
		||||
 | 
			
		||||
            [Column(MapType = typeof(string))]
 | 
			
		||||
@@ -49,6 +50,19 @@ namespace FreeSql.Tests.SqlServerMapType
 | 
			
		||||
        [Fact]
 | 
			
		||||
        public void Enum1()
 | 
			
		||||
        {
 | 
			
		||||
            g.sqlserver.Aop.AuditValue += new EventHandler<FreeSql.Aop.AuditValueEventArgs>((s, e) =>
 | 
			
		||||
            {
 | 
			
		||||
                if (e.Column.CsType == typeof(Guid) &&
 | 
			
		||||
                    e.Column.Attribute.MapType == typeof(string) &&
 | 
			
		||||
                    e.Value?.ToString() == Guid.Empty.ToString())
 | 
			
		||||
                    e.Value = FreeUtil.NewMongodbId();
 | 
			
		||||
            });
 | 
			
		||||
 | 
			
		||||
            g.sqlserver.GetRepository<ToStringMap>().InsertOrUpdate(new ToStringMap
 | 
			
		||||
            {
 | 
			
		||||
 | 
			
		||||
            });
 | 
			
		||||
 | 
			
		||||
            //insert
 | 
			
		||||
            var orm = g.sqlserver;
 | 
			
		||||
            var item = new ToStringMap { };
 | 
			
		||||
 
 | 
			
		||||
@@ -55,6 +55,7 @@ namespace FreeSql.Extensions.EntityUtil
 | 
			
		||||
                    {
 | 
			
		||||
                        Expression newguid = Expression.Call(MethodFreeUtilNewMongodbId);
 | 
			
		||||
                        if (pks[a].Attribute.MapType != pks[a].CsType) newguid = FreeSql.Internal.Utils.GetDataReaderValueBlockExpression(pks[a].CsType, newguid);
 | 
			
		||||
                        if (pks[a].CsType == typeof(Guid)) newguid = Expression.Convert(newguid, typeof(Guid));
 | 
			
		||||
                        if (pks[a].CsType == typeof(Guid?)) newguid = Expression.Convert(newguid, typeof(Guid?));
 | 
			
		||||
                        expthen = Expression.Block(
 | 
			
		||||
                            new Expression[]{
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user