以前在操做实体时,必须传统泛型参数,如今能够实现弱类型实体的操做。以 Repository 为例:sql
var repos = fsql.GetGuidRepository<object>(); repos.AsType(typeof(AddUpdateInfo)); var item = new AddUpdateInfo(); repos.Insert(item); item.Clicks += 1; repos.InsertOrUpdate(item); var item2 = repos.Find(item.Id) as AddUpdateInfo; Assert.Equal(item.Clicks, item2.Clicks); repos.DataFilter.Apply("xxx", a => (a as AddUpdateInfo).Clicks == 11); Assert.Null(repos.Find(item.Id));
而后呢,DbContext 也支持一样的操做。app
如今支持 ToList(a => new Dto()) 这样的简单数据映射,而后它会依次序匹配 LeftJoin/InnerJoin/RightJoin 的实体。单元测试
支持传入动态对象如:主键值 | new[]{主键值1,主键值2} | TEntity1 | new[]{TEntity1,TEntity2} | new{id=1}。测试
之前 .ToList() 会加载两级Join对象;优化
如今 ISelect.ToList(includeNestedMembers: true) 贪婪加载全部 LeftJoin/InnerJoin/RightJoin 导航数据,不论对象的层级;ui
var result = fsql.Ado.Query<T1, T2>("select * from t1; select * from t2");
修复 WhereObject 内部方法,当开启 Lazy 延时属性时,而且传递实体查询时条件无效;code
修复 Expression.And 的使用问题;对象
修复 ISelect2 以上 WhereIf 条件做用反了 bug;it