mirror of
				https://github.com/nsnail/FreeSql.git
				synced 2025-11-04 09:15:27 +08:00 
			
		
		
		
	## v0.9.16
- 增加 BaseRepository.AttachOnlyPrimary 方法,只附加实体的主键值;
> 在更新前使用可实现不查询数据库再更新、也可以实现更新时不更新值为 null 的字段
```csharp
class T {
    public int id { get; set; }
    public string name { get; set; }
    public string other { get; set; }
}
var item = new T { id = 1, name = "xx" };
fsql.GetRepository<T>().AttachOnlyPrimary(item).Update(item); //只更新 name
```
- 修复 Lambda 表达式中 DateTime.Now.ToString("yyyyMMdd") 不能直接执行的 bug;
			
			
This commit is contained in:
		@@ -88,7 +88,7 @@ namespace FreeSql.PostgreSQL
 | 
			
		||||
                            if (callExp.Method.DeclaringType.IsNumberType()) return "random()";
 | 
			
		||||
                            break;
 | 
			
		||||
                        case "ToString":
 | 
			
		||||
                            if (callExp.Object != null) return $"({getExp(callExp.Object)})::varchar";
 | 
			
		||||
                            if (callExp.Object != null) return callExp.Arguments.Count == 0 ? $"({getExp(callExp.Object)})::varchar" : null;
 | 
			
		||||
                            break;
 | 
			
		||||
                    }
 | 
			
		||||
 | 
			
		||||
@@ -496,7 +496,7 @@ namespace FreeSql.PostgreSQL
 | 
			
		||||
                        break;
 | 
			
		||||
                    case "Equals": return $"({left} = ({getExp(exp.Arguments[0])})::timestamp)";
 | 
			
		||||
                    case "CompareTo": return $"extract(epoch from ({left})::timestamp-({getExp(exp.Arguments[0])})::timestamp)";
 | 
			
		||||
                    case "ToString": return $"to_char({left}, 'YYYY-MM-DD HH24:MI:SS.US')";
 | 
			
		||||
                    case "ToString": return exp.Arguments.Count == 0 ? $"to_char({left}, 'YYYY-MM-DD HH24:MI:SS.US')" : null;
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
            return null;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user