Procházet zdrojové kódy

[Release] Vit.Linq release/3.1.1-preview

Lith před 8 měsíci
rodič
revize
251524ca2f

+ 8 - 8
README.md

@@ -4,15 +4,15 @@ Vit.Linq provides two tools for handling Expressions: Filter and ExpressionTree.
 - **Filter** can convert between FilterRule and Expression Predicate, allowing for dynamic filtering of result sets using JSON data.    
 - **ExpressionTree** facilitates the conversion between ExpressionNode and Expression, enabling transformations between data and code.    
   > Note: Since non-primitive types cannot be transmitted via data formats, the conversion may not be fully equivalent, and some type information might be lost.    
-> source address: [https://github.com/VitormLib/Vit.Linq](https://github.com/VitormLib/Vit.Linq "https://github.com/VitormLib/Vit.Linq")    
+> source address: [https://github.com/Vit-Orm/Vit.Linq](https://github.com/Vit-Orm/Vit.Linq "https://github.com/Vit-Orm/Vit.Linq")    
 
-![](https://img.shields.io/github/license/VitormLib/Vit.Linq.svg)  
-![](https://img.shields.io/github/repo-size/VitormLib/Vit.Linq.svg)  ![](https://img.shields.io/github/last-commit/VitormLib/Vit.Linq.svg)  
+![](https://img.shields.io/github/license/Vit-Orm/Vit.Linq.svg)  
+![](https://img.shields.io/github/repo-size/Vit-Orm/Vit.Linq.svg)  ![](https://img.shields.io/github/last-commit/Vit-Orm/Vit.Linq.svg)  
  
 
 | Build | NuGet |
 | -------- | -------- |
-|![](https://github.com/VitormLib/Vit.Linq/workflows/ki_devops3/badge.svg) | [![](https://img.shields.io/nuget/v/Vit.Linq.svg)](https://www.nuget.org/packages/Vit.Linq) ![](https://img.shields.io/nuget/dt/Vit.Linq.svg) |
+|![](https://github.com/Vit-Orm/Vit.Linq/workflows/ki_devops3/badge.svg) | [![](https://img.shields.io/nuget/v/Vit.Linq.svg)](https://www.nuget.org/packages/Vit.Linq) ![](https://img.shields.io/nuget/dt/Vit.Linq.svg) |
 
 
 
@@ -40,7 +40,7 @@ dotnet add package Vit.Core
 ```
 
 Create console project and edit Program.cs
-> code address: [Program.cs](https://github.com/VitormLib/Vit.Linq/tree/master/test/Vit.Linq.Console/Program.cs)    
+> code address: [Program.cs](https://github.com/Vit-Orm/Vit.Linq/tree/master/test/Vit.Linq.Console/Program.cs)    
 ``` csharp
 using Vit.Core.Module.Serialization;
 using Vit.Linq;
@@ -110,7 +110,7 @@ dotnet add package Vit.Core
 ```
 
 Create console project and edit Program.cs
-> code address: [Program.cs](https://github.com/VitormLib/Vit.Linq/tree/master/test/Vit.Linq.Console/Program2.cs)    
+> code address: [Program.cs](https://github.com/Vit-Orm/Vit.Linq/tree/master/test/Vit.Linq.Console/Program2.cs)    
 ``` csharp
 using Vit.Core.Module.Serialization;
 using Vit.Linq;
@@ -175,8 +175,8 @@ namespace App
 
 
 Examples:  
-- [FilterRules](https://github.com/VitormLib/Vit.Linq/tree/master/test/Vit.Linq.MsTest/FilterRules/Filter_TestBase.cs)    
-- [ExpressionNodes](https://github.com/VitormLib/Vit.Linq/tree/master/test/Vit.Linq.ExpressionNodes.MsTest)    
+- [FilterRules](https://github.com/Vit-Orm/Vit.Linq/tree/master/test/Vit.Linq.MsTest/FilterRules/Filter_TestBase.cs)    
+- [ExpressionNodes](https://github.com/Vit-Orm/Vit.Linq/tree/master/test/Vit.Linq.ExpressionNodes.MsTest)    
 
 
 

+ 8 - 8
doc/README_CN.md

@@ -4,15 +4,15 @@ Vit.Linq 提供两个针对Expression表达式的工具,Filter 和 ExpressionT
  _ **Filter** 可以把 FilterRule 和 Expression Predicate 进行相互转换, 由此可以通过 json 数据 对结果集进行动态化筛选。    
  - **ExpressionTree** 实现 ExpressionNode 和 Expression 表达式的相互转换实现数据和代码的转换。    
   > 因为非基本类型Type不能通过数据格式进行传递,所以转换并不是完全百分百互等的,会丢失部分类型信息    
-> source address: [https://github.com/VitormLib/Vit.Linq](https://github.com/VitormLib/Vit.Linq "https://github.com/VitormLib/Vit.Linq")    
+> source address: [https://github.com/Vit-Orm/Vit.Linq](https://github.com/Vit-Orm/Vit.Linq "https://github.com/Vit-Orm/Vit.Linq")    
 
-![](https://img.shields.io/github/license/VitormLib/Vit.Linq.svg)  
-![](https://img.shields.io/github/repo-size/VitormLib/Vit.Linq.svg)  ![](https://img.shields.io/github/last-commit/VitormLib/Vit.Linq.svg)  
+![](https://img.shields.io/github/license/Vit-Orm/Vit.Linq.svg)  
+![](https://img.shields.io/github/repo-size/Vit-Orm/Vit.Linq.svg)  ![](https://img.shields.io/github/last-commit/Vit-Orm/Vit.Linq.svg)  
  
 
 | Build | NuGet |
 | -------- | -------- |
-|![](https://github.com/VitormLib/Vit.Linq/workflows/ki_devops3/badge.svg) | [![](https://img.shields.io/nuget/v/Vit.Linq.svg)](https://www.nuget.org/packages/Vit.Linq) ![](https://img.shields.io/nuget/dt/Vit.Linq.svg) |
+|![](https://github.com/Vit-Orm/Vit.Linq/workflows/ki_devops3/badge.svg) | [![](https://img.shields.io/nuget/v/Vit.Linq.svg)](https://www.nuget.org/packages/Vit.Linq) ![](https://img.shields.io/nuget/dt/Vit.Linq.svg) |
 
 
 
@@ -38,7 +38,7 @@ dotnet add package Vit.Core
 ```
 
 创建 console project 并按如下修改 Program.cs
-> code address: [Program.cs](https://github.com/VitormLib/Vit.Linq/tree/master/test/Vit.Linq.Console/Program.cs)    
+> code address: [Program.cs](https://github.com/Vit-Orm/Vit.Linq/tree/master/test/Vit.Linq.Console/Program.cs)    
 ``` csharp
 using Vit.Core.Module.Serialization;
 using Vit.Linq.Filter.ComponentModel;
@@ -106,7 +106,7 @@ dotnet add package Vit.Core
 ```
 
 创建 console project 并按如下修改 Program2.cs
-> code address: [Program2.cs](https://github.com/VitormLib/Vit.Linq/tree/master/test/Vit.Linq.Console/Program2.cs)    
+> code address: [Program2.cs](https://github.com/Vit-Orm/Vit.Linq/tree/master/test/Vit.Linq.Console/Program2.cs)    
 ``` csharp
 using Vit.Core.Module.Serialization;
 using Vit.Linq;
@@ -163,8 +163,8 @@ namespace App
 
  
 Examples:  
-- [FilterRules](https://github.com/VitormLib/Vit.Linq/tree/master/test/Vit.Linq.MsTest/FilterRules/Filter_TestBase.cs)    
-- [ExpressionNodes](https://github.com/VitormLib/Vit.Linq/tree/master/test/Vit.Linq.ExpressionNodes.MsTest)    
+- [FilterRules](https://github.com/Vit-Orm/Vit.Linq/tree/master/test/Vit.Linq.MsTest/FilterRules/Filter_TestBase.cs)    
+- [ExpressionNodes](https://github.com/Vit-Orm/Vit.Linq/tree/master/test/Vit.Linq.ExpressionNodes.MsTest)    
 
 
 

+ 16 - 0
src/Vit.Linq/ExpressionNodes/ComponentModel/ExpressionNode/ExpressionNode_Lambda.cs

@@ -1,4 +1,5 @@
 using System;
+using System.Linq.Expressions;
 
 
 
@@ -14,6 +15,9 @@ namespace Vit.Linq.ExpressionNodes.ComponentModel
         Type[] Lambda_GetParamTypes();
         Type Lambda_GetReturnType();
         ExpressionNode Lambda_SetParamTypes(Type[] paramTypes, Type returnType = null);
+
+        LambdaExpression Lambda_GetLambdaExpression();
+        ExpressionNode Lambda_SetLambdaExpression(LambdaExpression lambda);
     }
 
     public partial class ExpressionNode : ExpressionNode_Lambda
@@ -50,5 +54,17 @@ namespace Vit.Linq.ExpressionNodes.ComponentModel
         }
 
 
+        public LambdaExpression Lambda_GetLambdaExpression()
+        {
+            return GetCodeArg("Lambda_LambdaExpression") as LambdaExpression;
+        }
+        public ExpressionNode Lambda_SetLambdaExpression(LambdaExpression lambda)
+        {
+            if (lambda != null)
+                SetCodeArg("Lambda_LambdaExpression", lambda);
+            return this;
+        }
+
+
     }
 }

+ 1 - 1
src/Vit.Linq/ExpressionNodes/ExpressionConvertor/Lambda.cs

@@ -21,7 +21,7 @@ namespace Vit.Linq.ExpressionNodes.ExpressionConvertor
 
                 var parameterTypes = lambda.Parameters.Select(parameter => parameter.Type).ToArray();
                 var returnType = lambda.ReturnType;
-                return ExpressionNode.Lambda(parameterNames: parameterNames, body: body).Lambda_SetParamTypes(parameterTypes, returnType);
+                return ExpressionNode.Lambda(parameterNames: parameterNames, body: body).Lambda_SetParamTypes(parameterTypes, returnType).Lambda_SetLambdaExpression(lambda);
             }
 
             return null;

+ 2 - 2
src/Vit.Linq/Vit.Linq.csproj

@@ -6,14 +6,14 @@
 
     <PropertyGroup>
         <TargetFramework>netstandard2.0</TargetFramework>
-        <Version>3.1.0</Version>
+        <Version>3.1.1-preview</Version>
         <LangVersion>9.0</LangVersion>
     </PropertyGroup>
 
     <PropertyGroup>
         <Authors>Lith</Authors>
         <Description>Linq Extension</Description>
-        <PackageProjectUrl>https://github.com/VitormLib/Vit.Linq</PackageProjectUrl>
+        <PackageProjectUrl>https://github.com/Vit-Orm/Vit.Linq</PackageProjectUrl>
         <PackageReadmeFile>README.md</PackageReadmeFile>
         <PackageTags>linq</PackageTags>
     </PropertyGroup>