dotnetcore / SmartSql

SmartSql = MyBatis in C# + .NET Core+ Cache(Memory | Redis) + R/W Splitting + PropertyChangedTrack +Dynamic Repository + InvokeSync + Diagnostics
https://smartsql.net/
Apache License 2.0
1.1k stars 222 forks source link

SmartSql-V4 意见征集 #46

Closed Ahoo-Wang closed 5 years ago

Ahoo-Wang commented 5 years ago

SmartSql-V4 意见征集

目标

简洁、高效、扩展性、可观测

计划

  1. 执行流重构(管道-中间件模式)
  2. 动态类型转换重构
  3. DataReader 反序列化Emit重构
  4. Statement 预编译 进一步压榨性能
  5. 自定义标签支持
  6. CUD 自动实现
  7. 动态代理仓储重构
  8. 表达式支持(SmartExpression
  9. 性能监控
  10. 自定义中间件
  11. 最小化可运行环境(only DataSource)

SmartSql-V4 recommends collecting

Goal

Simplicity, efficiency, scalability, monitoring

Plan

  1. Perform flow refactoring (pipeline-middleware mode)
  2. Dynamic Type Transformation Refactoring
  3. DataReader Reverse Serialization reconstruction
  4. Statement pre-compilation further squeezing performance
  5. Custom Tag Support
  6. CUD Automatic Implementation
  7. Dynamic Proxy Repository reconstruction
  8. Expression Support (SmartexEression)
  9. Performance monitoring
  10. Custom Middleware
  11. Minimize the operating environment (only DataSource)
ghd258 commented 5 years ago

12.集成EF Core

liuhaoyang commented 5 years ago

Oh... sharding ..

zhanqinwen commented 5 years ago

6简单的单表CUD实现就成了

chnzhang commented 5 years ago

12.返回类型 键值对 如: Dictionary IList<Dictionary> 增加灵活性 13.xml里where if判断条件能单独处理如:<where> <if test="id>0" >id=?id </if> </where>

Ahoo-Wang commented 5 years ago

@ghd258 SmartSql 跟 EF Core 都是ORM,不理解你指的集成是啥意思?

chenmfly commented 5 years ago

支持,蛮好的!

ElderJames commented 5 years ago

支持一对多实体列表返回值映射

ElderJames commented 5 years ago

提供更友好的异常日志,过滤掉通过smartsql引起的系统异常

Ahoo-Wang commented 5 years ago

@chnzhang

12.返回类型键值对如:词典IList 增加灵活性 13.xml里如果判断条件能单独处理如: 0”> id =?id </ if > </ where>

12 同意,13 将由 SmartExpression 提供支持。

Ahoo-Wang commented 5 years ago

@chenmfly 感谢支持。:smile:

MetSystem commented 5 years ago

sharding

ElderJames commented 5 years ago

49

caobingsheng commented 5 years ago

能自动分页就好了

liyuan0420 commented 5 years ago

Redis提取到链接数据库模块,可用环境变量配置。

Ahoo-Wang commented 5 years ago

@liyuan0420 SmartSql-V4 已支持注入外部配置,见以下demo

services
                .AddSmartSql((builder) =>
                {
                    builder.UseProperties(Configuration);
                })
                .AddRepositoryFromAssembly(o =>
                {
                    o.AssemblyString = "SmartSql.Sample.AspNetCore";
                    o.Filter = (type) =>
                    {
                        return type.Namespace == "SmartSql.Sample.AspNetCore.DyRepositories";
                    };
                });

https://github.com/Smart-Kit/SmartSql/blob/master/sample/SmartSql.Sample.AspNetCore/Startup.cs#L26

leyou240 commented 5 years ago

迫切需要数据水平分片的支持,由于数据量很大后期需要将数据分片。 .net中目前没有开源的解决方案,经过分析只有java有相应的方案https://shardingsphere.apache.org/document/current/cn/features/sharding/