mirror of
				https://github.com/nsnail/FreeSql.git
				synced 2025-11-04 17:20:49 +08:00 
			
		
		
		
	- 修复 IncludeMany 变异 Where 指定的属性类型不一致的 bug;(如 int 和 int?)
This commit is contained in:
		@@ -870,7 +870,7 @@ namespace FreeSql.Tests.Sqlite
 | 
				
			|||||||
            [Column(IsIdentity = true)]
 | 
					            [Column(IsIdentity = true)]
 | 
				
			||||||
            public int id { get; set; }
 | 
					            public int id { get; set; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            public int model2111Idaaa { get; set; }
 | 
					            public int? model2111Idaaa { get; set; }
 | 
				
			||||||
            public string title { get; set; }
 | 
					            public string title { get; set; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            public List<TestInclude_OneToManyModel4> childs2 { get; set; }
 | 
					            public List<TestInclude_OneToManyModel4> childs2 { get; set; }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -489,8 +489,12 @@ namespace FreeSql.Internal.CommonProvider
 | 
				
			|||||||
                                actWeiParse(binaryExp.Right);
 | 
					                                actWeiParse(binaryExp.Right);
 | 
				
			||||||
                                break;
 | 
					                                break;
 | 
				
			||||||
                            case ExpressionType.Equal:
 | 
					                            case ExpressionType.Equal:
 | 
				
			||||||
                                var leftP1MemberExp = binaryExp.Left as MemberExpression;
 | 
					                                Expression leftExp = binaryExp.Left;
 | 
				
			||||||
                                var rightP1MemberExp = binaryExp.Right as MemberExpression;
 | 
					                                Expression rightExp = binaryExp.Right;
 | 
				
			||||||
 | 
					                                while (leftExp.NodeType == ExpressionType.Convert) leftExp = (leftExp as UnaryExpression)?.Operand;
 | 
				
			||||||
 | 
					                                while (rightExp.NodeType == ExpressionType.Convert) rightExp = (rightExp as UnaryExpression)?.Operand;
 | 
				
			||||||
 | 
					                                var leftP1MemberExp = leftExp as MemberExpression;
 | 
				
			||||||
 | 
					                                var rightP1MemberExp = rightExp as MemberExpression;
 | 
				
			||||||
                                if (leftP1MemberExp == null || rightP1MemberExp == null) throw throwNavigateSelector;
 | 
					                                if (leftP1MemberExp == null || rightP1MemberExp == null) throw throwNavigateSelector;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                                if (leftP1MemberExp.Expression == whereExpArgLamb.Parameters[0])
 | 
					                                if (leftP1MemberExp.Expression == whereExpArgLamb.Parameters[0])
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user