mirror of
https://github.com/nsnail/FreeSql.git
synced 2025-04-22 10:42:52 +08:00
v1.10.0-preview1018 #490
This commit is contained in:
parent
013a7ada36
commit
9d33779092
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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]
|
||||
|
@ -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);
|
||||
|
@ -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>
|
||||
|
@ -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);
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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.6,Ado.Net 驱动是 MySql.Data(Oracle官方)</Description>
|
||||
|
@ -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.6,Ado.Net 驱动是 MySqlConnector</Description>
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
Loading…
x
Reference in New Issue
Block a user