v1.10.0-preview1018 #490

This commit is contained in:
28810 2020-10-15 01:31:50 +08:00
parent 013a7ada36
commit 9d33779092
25 changed files with 50 additions and 47 deletions

View File

@ -2,7 +2,7 @@
<PropertyGroup>
<TargetFrameworks>netstandard2.0;net45;net40</TargetFrameworks>
<Version>1.10.0-preview1015</Version>
<Version>1.10.0-preview1018</Version>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Authors>FreeSql;ncc;YeXiangQin</Authors>
<Description>BaseEntity 是一种极简单的 CodeFirst 开发方式特别对单表或多表CRUD利用继承节省了每个实体类的重复属性创建时间、ID等字段软件删除等功能进行 crud 操作时不必时常考虑仓储的使用.</Description>

View File

@ -2,7 +2,7 @@
<PropertyGroup>
<TargetFrameworks>netstandard2.0;net45;net40</TargetFrameworks>
<Version>1.10.0-preview1015</Version>
<Version>1.10.0-preview1018</Version>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Authors>FreeSql;ncc;YeXiangQin</Authors>
<Description>FreeSql 扩展包可实现实体类属性为对象时以JSON形式映射存储.</Description>

View File

@ -2,7 +2,7 @@
<PropertyGroup>
<TargetFrameworks>netstandard2.0;netstandard2.1;net45;net40</TargetFrameworks>
<Version>1.10.0-preview1015</Version>
<Version>1.10.0-preview1018</Version>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Authors>FreeSql;ncc;YeXiangQin</Authors>
<Description>FreeSql 扩展包,可实现【延时加载】属性.</Description>

View File

@ -2,7 +2,7 @@
<PropertyGroup>
<TargetFrameworks>netstandard2.0;net45;net40</TargetFrameworks>
<Version>1.10.0-preview1015</Version>
<Version>1.10.0-preview1018</Version>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Authors>FreeSql;ncc;YeXiangQin</Authors>
<Description>FreeSql 扩展包,实现 linq queryable 和 linq to sql 语法进行开发.</Description>

View File

@ -12,7 +12,7 @@
<Description>使用 FreeSql 快速生成数据库的实体类安装dotnet tool install -g FreeSql.Generator</Description>
<PackageProjectUrl>https://github.com/2881099/FreeSql</PackageProjectUrl>
<RepositoryUrl>https://github.com/2881099/FreeSql</RepositoryUrl>
<Version>1.10.0-preview1015</Version>
<Version>1.10.0-preview1018</Version>
<PackageTags>FreeSql DbFirst 实体生成器</PackageTags>
</PropertyGroup>

View File

@ -2,7 +2,7 @@
<PropertyGroup>
<TargetFrameworks>netstandard2.0;net45;net40</TargetFrameworks>
<Version>1.10.0-preview1015</Version>
<Version>1.10.0-preview1018</Version>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Authors>FreeSql;ncc;YeXiangQin</Authors>
<Description>FreeSql 全家桶,懒人专用</Description>

View File

@ -2,7 +2,7 @@
<PropertyGroup>
<TargetFrameworks>netstandard2.0;netcoreapp31;netcoreapp30;netcoreapp22;netcoreapp21;net45;net40</TargetFrameworks>
<Version>1.10.0-preview1015</Version>
<Version>1.10.0-preview1018</Version>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Authors>FreeSql;ncc;YeXiangQin</Authors>
<Description>FreeSql is the ORM in .NetCore, .NetFramework, And Xamarin. It supports Mysql, Postgresql, SqlServer, Oracle, Sqlite, Firebird, Odbc, 达梦, 人大金仓, 神舟通用, And Access</Description>

View File

@ -2,7 +2,7 @@
<PropertyGroup>
<TargetFrameworks>netstandard2.0;netcoreapp31;netcoreapp30;netcoreapp22;netcoreapp21;net45;net40</TargetFrameworks>
<Version>1.10.0-preview1015</Version>
<Version>1.10.0-preview1018</Version>
<Authors>FreeSql;ncc;YeXiangQin</Authors>
<Description>FreeSql Implementation of General Repository, Support MySql/SqlServer/PostgreSQL/Oracle/Sqlite/Firebird/达梦/人大金仓/神舟通用/Access, and read/write separation、and split table.</Description>
<PackageProjectUrl>https://github.com/2881099/FreeSql/wiki/Repository</PackageProjectUrl>

View File

@ -142,34 +142,34 @@ namespace FreeSql.Tests.PostgreSQLExpression
public void Jsonb()
{
var sql1 = select.Where(a => a.testFieldJToken.Contains(JToken.Parse("{a:1}"))).ToList();
var sql2 = select.Where(a => a.testFieldJToken.Contains(JToken.Parse("{a:1}")) == false).ToList();
var sql111 = select.Where(a => a.testFieldJToken.Contains("{a:1}")).ToList();
var sql222 = select.Where(a => a.testFieldJToken.Contains("{a:1}") == false).ToList();
var sql1 = select.Where(a => a.testFieldJToken.Contains(JToken.Parse("{a:1}"))).Limit(10).ToList();
var sql2 = select.Where(a => a.testFieldJToken.Contains(JToken.Parse("{a:1}")) == false).Limit(10).ToList();
var sql111 = select.Where(a => a.testFieldJToken.Contains("{\"a\":1}")).Limit(10).ToList();
var sql222 = select.Where(a => a.testFieldJToken.Contains("{\"a\":1}") == false).Limit(10).ToList();
var sql3 = select.Where(a => a.testFieldJObject.ContainsKey("a")).ToList();
var sql4 = select.Where(a => a.testFieldJObject.ContainsKey("a") == false).ToList();
var sql3 = select.Where(a => a.testFieldJObject.ContainsKey("a")).Limit(10).ToList();
var sql4 = select.Where(a => a.testFieldJObject.ContainsKey("a") == false).Limit(10).ToList();
var sql5 = select.Where(a => a.testFieldJArray.Contains(1)).ToList();
var sql6 = select.Where(a => a.testFieldJArray.Contains(1) == false).ToList();
var sql555 = select.Where(a => a.testFieldJArray.Contains(1)).ToList();
var sql666 = select.Where(a => a.testFieldJArray.Contains(1) == false).ToList();
var sql5 = select.Where(a => a.testFieldJArray.Contains(1)).Limit(10).ToList();
var sql6 = select.Where(a => a.testFieldJArray.Contains(1) == false).Limit(10).ToList();
var sql555 = select.Where(a => a.testFieldJArray.Contains(1)).Limit(10).ToList();
var sql666 = select.Where(a => a.testFieldJArray.Contains(1) == false).Limit(10).ToList();
//var sql7 = select.Where(a => a.testFieldJToken.Any()).ToList();
//var sql8 = select.Where(a => a.testFieldJToken.Any() == false).ToList();
//var sql7 = select.Where(a => a.testFieldJToken.Any()).Limit(10).ToList();
//var sql8 = select.Where(a => a.testFieldJToken.Any() == false).Limit(10).ToList();
var sql9 = select.Where(a => a.testFieldJArray.Any()).ToList();
var sql10 = select.Where(a => a.testFieldJArray.Any() == false).ToList();
var sql9 = select.Where(a => a.testFieldJArray.Any()).Limit(10).ToList();
var sql10 = select.Where(a => a.testFieldJArray.Any() == false).Limit(10).ToList();
//var sql11 = select.ToList(a => a.testFieldJToken.Concat(JToken.Parse("{a:1}")));
//var sql12 = select.ToList(a => a.testFieldJObject.Concat(JToken.Parse("{a:1}")));
//var sql13 = select.ToList(a => a.testFieldJArray.Concat(JToken.Parse("{a:1}")));
//var sql11 = select.Limit(10).ToList(a => a.testFieldJToken.Concat(JToken.Parse("{a:1}")));
//var sql12 = select.Limit(10).ToList(a => a.testFieldJObject.Concat(JToken.Parse("{a:1}")));
//var sql13 = select.Limit(10).ToList(a => a.testFieldJArray.Concat(JToken.Parse("{a:1}")));
//var sql14 = select.Where(a => a.testFieldJToken.Count() > 0).ToList();
//var sql15 = select.Where(a => a.testFieldJObject.Count > 0).ToList();
var sql16 = select.Where(a => a.testFieldJArray.Count() > 0).ToList();
var sql17 = select.Where(a => a.testFieldJArray.LongCount() > 0).ToList();
var sql18 = select.Where(a => a.testFieldJArray.Count > 0).ToList();
//var sql14 = select.Where(a => a.testFieldJToken.Count() > 0).Limit(10).ToList();
//var sql15 = select.Where(a => a.testFieldJObject.Count > 0).Limit(10).ToList();
var sql16 = select.Where(a => a.testFieldJArray.Count() > 0).Limit(10).ToList();
var sql17 = select.Where(a => a.testFieldJArray.LongCount() > 0).Limit(10).ToList();
var sql18 = select.Where(a => a.testFieldJArray.Count > 0).Limit(10).ToList();
}
[Fact]

View File

@ -205,7 +205,8 @@ namespace FreeSql.Tests
""Id"" INTEGER PRIMARY KEY AUTOINCREMENT,
""str1"" NVARCHAR(255) NOT NULL,
""int1"" INTEGER NOT NULL,
""int2"" INTEGER
""int2"" INTEGER ,
""price"" DECIMAL(10,5)
)
;
", ddlsql);

View File

@ -2,7 +2,7 @@
<PropertyGroup>
<TargetFrameworks>netstandard2.0;net45;net40</TargetFrameworks>
<Version>1.10.0-preview1015</Version>
<Version>1.10.0-preview1018</Version>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Authors>FreeSql;ncc;YeXiangQin</Authors>
<Description>FreeSql is the ORM in .NetCore, .NetFramework, And Xamarin. It supports Mysql, Postgresql, SqlServer, Oracle, Sqlite, Firebird, Odbc, 达梦, 人大金仓, 神舟通用, And Access</Description>

View File

@ -680,8 +680,10 @@ namespace FreeSql.Internal
case ExpressionType.ConvertChecked:
//var othercExp = ExpressionLambdaToSqlOther(exp, tsc);
//if (string.IsNullOrEmpty(othercExp) == false) return othercExp;
if (exp.IsParameter()) return ExpressionLambdaToSql((exp as UnaryExpression)?.Operand, tsc);
var expOperand = (exp as UnaryExpression)?.Operand;
if (expOperand.Type.NullableTypeOrThis().IsEnum && exp.IsParameter() == false)
return formatSql(Expression.Lambda(exp).Compile().DynamicInvoke(), tsc.mapType, tsc.mapColumnTmp, tsc.dbParams); //bug: Where(a => a.Id = (int)enum)
return ExpressionLambdaToSql(expOperand, tsc);
case ExpressionType.Negate:
case ExpressionType.NegateChecked: return "-" + ExpressionLambdaToSql((exp as UnaryExpression)?.Operand, tsc);
case ExpressionType.Constant: return formatSql((exp as ConstantExpression)?.Value, tsc.mapType, tsc.mapColumnTmp, null);

View File

@ -2,7 +2,7 @@
<PropertyGroup>
<TargetFrameworks>netstandard2.0;net45;net40</TargetFrameworks>
<Version>1.10.0-preview1015</Version>
<Version>1.10.0-preview1018</Version>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Authors>FreeSql;ncc;YeXiangQin</Authors>
<Description>FreeSql 数据库实现,基于 达梦数据库 Ado.net (DmProvider)</Description>

View File

@ -2,7 +2,7 @@
<PropertyGroup>
<TargetFrameworks>netstandard2.0;net452</TargetFrameworks>
<Version>1.10.0-preview1015</Version>
<Version>1.10.0-preview1018</Version>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Authors>FreeSql;ncc;YeXiangQin</Authors>
<Description>FreeSql 数据库实现,基于 Firebird</Description>

View File

@ -2,7 +2,7 @@
<PropertyGroup>
<TargetFrameworks>netstandard2.0;net461</TargetFrameworks>
<Version>1.10.0-preview1015</Version>
<Version>1.10.0-preview1018</Version>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Authors>FreeSql;ncc;YeXiangQin</Authors>
<Description>FreeSql 数据库实现,基于 人大金仓数据库 Ado.Net (Kdbndp)</Description>

View File

@ -2,7 +2,7 @@
<PropertyGroup>
<TargetFrameworks>netstandard2.0;net45;net40</TargetFrameworks>
<Version>1.10.0-preview1015</Version>
<Version>1.10.0-preview1018</Version>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Authors>FreeSql;ncc;YeXiangQin</Authors>
<Description>FreeSql 数据库 Ms Access 实现</Description>

View File

@ -2,7 +2,7 @@
<PropertyGroup>
<TargetFrameworks>netstandard2.0;net452;net451;net45;net40</TargetFrameworks>
<Version>1.10.0-preview1015</Version>
<Version>1.10.0-preview1018</Version>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Authors>FreeSql;ncc;YeXiangQin</Authors>
<Description>FreeSql 数据库实现,基于 MySql 5.6Ado.Net 驱动是 MySql.DataOracle官方</Description>

View File

@ -2,7 +2,7 @@
<PropertyGroup>
<TargetFrameworks>netstandard2.0;net45</TargetFrameworks>
<Version>1.10.0-preview1015</Version>
<Version>1.10.0-preview1018</Version>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Authors>FreeSql;ncc;YeXiangQin</Authors>
<Description>FreeSql 数据库实现,基于 MySql 5.6Ado.Net 驱动是 MySqlConnector</Description>

View File

@ -2,7 +2,7 @@
<PropertyGroup>
<TargetFrameworks>netstandard2.0;net45;net40</TargetFrameworks>
<Version>1.10.0-preview1015</Version>
<Version>1.10.0-preview1018</Version>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Authors>FreeSql;ncc;YeXiangQin</Authors>
<Description>FreeSql 数据库 Odbc 实现,基于 {Oracle}、{SQL Server}、{MySQL ODBC 8.0 Unicode Driver}、{PostgreSQL Unicode(x64)}、{DM8 ODBC Driver} 专用访问实现,以及通用 Odbc 访问所有数据库</Description>

View File

@ -2,7 +2,7 @@
<PropertyGroup>
<TargetFrameworks>netstandard2.0;net45;net40</TargetFrameworks>
<Version>1.10.0-preview1015</Version>
<Version>1.10.0-preview1018</Version>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Authors>FreeSql;ncc;YeXiangQin</Authors>
<Description>FreeSql 数据库实现,基于 Oracle 11</Description>

View File

@ -2,7 +2,7 @@
<PropertyGroup>
<TargetFrameworks>netstandard2.0;net461;net452;net451;net45</TargetFrameworks>
<Version>1.10.0-preview1015</Version>
<Version>1.10.0-preview1018</Version>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Authors>FreeSql;ncc;YeXiangQin</Authors>
<Description>FreeSql 数据库实现,基于 PostgreSQL 9.5</Description>

View File

@ -2,7 +2,7 @@
<PropertyGroup>
<TargetFrameworks>netstandard2.0;net45;net40</TargetFrameworks>
<Version>1.10.0-preview1015</Version>
<Version>1.10.0-preview1018</Version>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Authors>FreeSql;ncc;YeXiangQin</Authors>
<Description>FreeSql 数据库实现,基于 神舟通用数据库 7.0.8</Description>

View File

@ -2,7 +2,7 @@
<PropertyGroup>
<TargetFrameworks>netstandard2.0;net451;net45;net40</TargetFrameworks>
<Version>1.10.0-preview1015</Version>
<Version>1.10.0-preview1018</Version>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Authors>FreeSql;ncc;YeXiangQin</Authors>
<Description>FreeSql 数据库实现,基于 SqlServer 2005+并根据版本适配分页方法row_number 或 offset fetch next</Description>

View File

@ -2,7 +2,7 @@
<PropertyGroup>
<TargetFrameworks>netstandard2.0;net451;net45;net40</TargetFrameworks>
<Version>1.10.0-preview1015</Version>
<Version>1.10.0-preview1018</Version>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Authors>FreeSql;ncc;YeXiangQin</Authors>
<Description>FreeSql 数据库实现,基于 System.Data.SqlClient + SqlServer 2005+并根据版本适配分页方法row_number 或 offset fetch next</Description>

View File

@ -2,7 +2,7 @@
<PropertyGroup>
<TargetFrameworks>netstandard2.0;net45;net40</TargetFrameworks>
<Version>1.10.0-preview1015</Version>
<Version>1.10.0-preview1018</Version>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Authors>FreeSql;ncc;YeXiangQin</Authors>
<Description>FreeSql 数据库实现,基于 Sqlite 3.0,支持 .NetCore、.NetFramework、Xamarin</Description>