以前在操做實體時,必須傳統泛型參數,如今能夠實現弱類型實體的操做。以 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