v1.4.0-preview20200410

This commit is contained in:
28810 2020-04-09 16:47:49 +08:00
parent 50238339fe
commit 98fc8baade
21 changed files with 103 additions and 20 deletions

View File

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

View File

@ -2,7 +2,7 @@
<PropertyGroup> <PropertyGroup>
<TargetFrameworks>netstandard2.0</TargetFrameworks> <TargetFrameworks>netstandard2.0</TargetFrameworks>
<Version>1.4.0-preview20200409</Version> <Version>1.4.0-preview20200410</Version>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild> <GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Authors>YeXiangQin</Authors> <Authors>YeXiangQin</Authors>
<Description>FreeSql 扩展包实现,使用 FluentApi 方式配置实体模型,使用习惯接近 EFCore方便过渡.</Description> <Description>FreeSql 扩展包实现,使用 FluentApi 方式配置实体模型,使用习惯接近 EFCore方便过渡.</Description>

View File

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

View File

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

View File

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

View File

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

View File

@ -2,7 +2,7 @@
<PropertyGroup> <PropertyGroup>
<TargetFrameworks>netstandard2.0;netcoreapp31;netcoreapp30;netcoreapp22;netcoreapp21;net45;net40</TargetFrameworks> <TargetFrameworks>netstandard2.0;netcoreapp31;netcoreapp30;netcoreapp22;netcoreapp21;net45;net40</TargetFrameworks>
<Version>1.4.0-preview20200409</Version> <Version>1.4.0-preview20200410</Version>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild> <GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Authors>YeXiangQin</Authors> <Authors>YeXiangQin</Authors>
<Description>FreeSql is the ORM in .NetCore, .NetFramework, And Xamarin. It supports Mysql, Postgresql, SqlServer, Oracle, Sqlite, Odbc, 达梦, And Access</Description> <Description>FreeSql is the ORM in .NetCore, .NetFramework, And Xamarin. It supports Mysql, Postgresql, SqlServer, Oracle, Sqlite, Odbc, 达梦, And Access</Description>

View File

@ -222,6 +222,15 @@
</summary> </summary>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:FreeSql.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>
<member name="P:FreeSql.IBaseRepository.Orm"> <member name="P:FreeSql.IBaseRepository.Orm">
<summary> <summary>
注意IFreeSql 属于顶级对象,事务无法自动传递。<para></para> 注意IFreeSql 属于顶级对象,事务无法自动传递。<para></para>

View File

@ -2,7 +2,7 @@
<PropertyGroup> <PropertyGroup>
<TargetFrameworks>netstandard2.0;netcoreapp31;netcoreapp30;netcoreapp22;netcoreapp21;net45;net40</TargetFrameworks> <TargetFrameworks>netstandard2.0;netcoreapp31;netcoreapp30;netcoreapp22;netcoreapp21;net45;net40</TargetFrameworks>
<Version>1.4.0-preview20200409</Version> <Version>1.4.0-preview20200410</Version>
<Authors>YeXiangQin</Authors> <Authors>YeXiangQin</Authors>
<Description>FreeSql Implementation of General Repository, Support MySql/SqlServer/PostgreSQL/Oracle/Sqlite/达梦/Access, and read/write separation、and split table.</Description> <Description>FreeSql Implementation of General Repository, Support MySql/SqlServer/PostgreSQL/Oracle/Sqlite/达梦/Access, and read/write separation、and split table.</Description>
<PackageProjectUrl>https://github.com/2881099/FreeSql/wiki/Repository</PackageProjectUrl> <PackageProjectUrl>https://github.com/2881099/FreeSql/wiki/Repository</PackageProjectUrl>

View File

@ -0,0 +1,71 @@
using FreeSql.DataAnnotations;
using FreeSql;
using System;
using System.Collections.Generic;
using Xunit;
using System.Linq;
using Newtonsoft.Json.Linq;
using NpgsqlTypes;
using Npgsql.LegacyPostgis;
using System.Linq.Expressions;
using System.Threading.Tasks;
using System.ComponentModel.DataAnnotations;
using System.Threading;
using System.Data.SqlClient;
using kwlib;
using System.Diagnostics;
using System.IO;
using System.Text;
namespace FreeSql.Tests
{
public class QueryableTest
{
class qt01
{
[Column(IsIdentity = true)]
public int id { get; set; }
public string name { get; set; }
[Navigate(nameof(qt01_item.qt01id))]
public List<qt01_item> items { get; set; }
}
class qt01_item
{
[Column(IsIdentity = true)]
public int id { get; set; }
public string title { get; set; }
public int qt01id { get; set; }
}
IFreeSql fsql => g.sqlite;
[Fact]
public void Any()
{
var sd = new[] {
new qt01{
name = "any01",
items = new List<qt01_item>(new []{
new qt01_item { title = "any01_item01" },
new qt01_item { title = "any01_item02" }
})
},
new qt01{
name = "any02",
items = new List<qt01_item>(new []{
new qt01_item { title = "any02_item01" },
new qt01_item { title = "any02_item02" }
})
}
};
var repo = fsql.GetRepository<qt01>();
repo.DbContextOptions.EnableAddOrUpdateNavigateList = true;
repo.Insert(sd);
Assert.True(fsql.Select<qt01>().AsQueryable().Any());
Assert.True(fsql.Select<qt01>().AsQueryable().Any(a => a.id == sd[0].id));
Assert.False(fsql.Select<qt01>().AsQueryable().Any(a => a.id == sd[0].id && sd[0].id == 0));
}
}
}

View File

@ -147,7 +147,10 @@ namespace FreeSql.Tests
.First(a => a); //#231 .First(a => a); //#231
var lksdjkg1 = g.sqlite.Select<Edi>() var lksdjkg1 = g.sqlite.Select<Edi>()
.AsQueryable().Where(a => a.Id > 0).ToList(); .AsQueryable().Where(a => a.Id > 0).Where(a => a.Id == 1).ToList();
var lksdjkg11 = g.sqlite.Select<Edi>()
.AsQueryable().Where(a => a.Id > 0).Where(a => a.Id == 1).Any();
var lksdjkg2 = g.sqlite.Select<Edi>() var lksdjkg2 = g.sqlite.Select<Edi>()
.AsQueryable().Where(a => a.Id > 0).First(); .AsQueryable().Where(a => a.Id > 0).First();

View File

@ -2,7 +2,7 @@
<PropertyGroup> <PropertyGroup>
<TargetFrameworks>netstandard2.0;net45;net40</TargetFrameworks> <TargetFrameworks>netstandard2.0;net45;net40</TargetFrameworks>
<Version>1.4.0-preview20200409</Version> <Version>1.4.0-preview20200410</Version>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild> <GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Authors>YeXiangQin</Authors> <Authors>YeXiangQin</Authors>
<Description>FreeSql is the ORM in .NetCore, .NetFramework, And Xamarin. It supports Mysql, Postgresql, SqlServer, Oracle, Sqlite, Odbc, 达梦, And Access</Description> <Description>FreeSql is the ORM in .NetCore, .NetFramework, And Xamarin. It supports Mysql, Postgresql, SqlServer, Oracle, Sqlite, Odbc, 达梦, And Access</Description>

View File

@ -476,7 +476,7 @@ namespace FreeSql.Internal.CommonProvider
foreach (var kv in dic) foreach (var kv in dic)
{ {
if (_table.ColumnsByCs.TryGetValue(kv.Key, out var trycol) == false) continue; if (_table.ColumnsByCs.TryGetValue(kv.Key, out var trycol) == false) continue;
if (_ignore.ContainsKey(kv.Key)) continue; if (_ignore.ContainsKey(trycol.Attribute.Name)) continue;
SetPriv(trycol, kv.Value); SetPriv(trycol, kv.Value);
} }
} }
@ -484,7 +484,7 @@ namespace FreeSql.Internal.CommonProvider
foreach (var dtoProp in dtoProps) foreach (var dtoProp in dtoProps)
{ {
if (_table.ColumnsByCs.TryGetValue(dtoProp.Name, out var trycol) == false) continue; if (_table.ColumnsByCs.TryGetValue(dtoProp.Name, out var trycol) == false) continue;
if (_ignore.ContainsKey(dtoProp.Name)) continue; if (_ignore.ContainsKey(trycol.Attribute.Name)) continue;
SetPriv(trycol, dtoProp.GetValue(dto, null)); SetPriv(trycol, dtoProp.GetValue(dto, null));
} }
return this; return this;

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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