Squirrel Framework 1.0.14 说明文档

Squirrel 有松鼠、贮藏的意思。Squirrel Framework 正致力于让你轻盈、快速地构建基于 MongoDB / Azure Cosmos DB 的应用程序。


如何获取并使用?


新版本 1.0.14 改进列表

# 全局改进

  1. 全部工程升级为 .NET Standard 2.0,.NET Framework 下最低版本需求降为 4.6.1
  2. 针对 Azure Cosmos DB 进行支持测试
  3. 为 NuGet 包集成类库的方法及参数描述信息,方便调用者查看说明信息
  4. 去除项目 pfx 证书,改为 snk 证书
  5. 增加类库开发者信息
  6. 增加单元测试工程

# SquirrelFramework.Utility – 发布 1.0.4 版本

  1. JsonHelper 类增加允许不指定泛型类型的反序列化方法,方法签名如下:
    	public static dynamic Deserialize(string jsonString)
    
  2. LambdaExpressionHelper 类增加从 Lambda 表达式中获取变量名的工具方法,方法签名如下:
    	public static string RetrievePropertyNameByLambdaExpression(Expression<Func<object>> expression)
    	public static string RetrievePropertyNameByLambdaExpression<TSource, TField>(Expression<Func<TSource, TField>> expression)
    
  3. 改进 IEnumerableExtension 类中的 Shuffle() 乱序方法的实现

# SquirrelFramework – 发布 1.0.14 版本

  1. 更新 MongoDB Driver 及相关依赖至最新版本
  2. 修复 .NET Framework 4.7.2 无法引用的问题
  3. 允许 DomainModel 不指定 [Collection] 属性,默认将直接使用当前类的名字作为 MongoDB 的表(Collection)名
  4. 增加 GetTop() 方法, 可以指定需要获取数据的数量或者指定百分比,方法签名如下:
    
    public IEnumerable<TDomain> GetTop(string collectionName, int resultNumber, Expression<Func<TDomain, object>> sortBy, bool isSortByDescending = false)
    
    public IEnumerable<TDomain> GetTop(string collectionName, double percent, Expression<Func<TDomain, object>> sortBy, bool isSortByDescending = false)
    
    public IEnumerable<TDomain> GetTop(string collectionName, int resultNumber, Expression<Func<TDomain, bool>> filter, Expression<Func<TDomain, object>> sortBy, bool isSortByDescending = false)
    
    public IEnumerable<TDomain> GetTop(string collectionName, double percent, Expression<Func<TDomain, bool>> filter, Expression<Func<TDomain, object>> sortBy, bool isSortByDescending = false)
    
    
  5. 增加 GetAll() 方法的重载,允许指定 OrderBy 参数,方法签名如下:
    
    public IEnumerable<TDomain> GetAll(string collectionName, Expression<Func<TDomain, object>> sortBy, bool isSortByDescending = false)
    
    public IEnumerable<TDomain> GetAll(string collectionName, Expression<Func<TDomain, bool>> filter, Expression<Func<TDomain, object>> sortBy, bool isSortByDescending = false)
    
    
  6. 向 RepositoryBase 类的子类暴露 MongoDB 基础对象允许用户自定制查询,方法签名如下:
    
    protected IMongoCollection<TDomain> GetCollection(string collectionName)
    
    
  7. 增加 GetNearBy 的一个重载方法,允许指定用于进行空间搜索的字段,并设置最大和最小的半径范围,同时优化了相关索引的创建逻辑,方法签名如下:
    
    public IEnumerable<TDomain> GetNearBy(
                string collectionName, 
                Expression<Func<TDomain, object>> field, 
                Geolocation centerPoint, 
                double maxRadius /* Meter */,
                double minRadius /* Meter */)
    
    

未来版本计划

下一版本 1.0.15

  1. 为所有公开方法提供调用说明,并构建一个方法说明站点
  2. 增加 GetParticalFields() 方法,允许对 MongoDB 某表的部分字段进行查询(泛型模板 及 dynamic 方式)
  3. 事物支持
  4. 添加数据库连接检查方法
  5. 提供一个轻量有效的自动关联查询与存储机制

近期计划

  1. Nuget 发布目标修改为 V3 版本
  2. 提供 like 方法
  3. 通过 Travis CI 构建持续集成
  4. 提供 where in 方法
  5. 替换 StackExchange.Redis 引用
  6. 类方法接口化
  7. GetNearBy() 方法增加查询条件 filter
  8. 提供一个约定配置类,从而方便自动化分表

1.1.0

  1. 作为长期稳定版本
  2. 发布一个等效的 Java 版本类库
Hendry

About Hendry

不经历复杂的简单,只是一种苍白。

发表评论

电子邮件地址不会被公开。