對組件進行了擴展,最大的修改就是增加緩存查詢,以獲得更好的性能。
本節先講一些小的擴展修改。
之前版本ToScalar()只是返回object。
現在增加了ToScalar<TResult>()方法,組件自動轉換類型。
例如:
DbSession.Default.From<Products>().Select(Products._.ProductID).Top (1).ToScalar<int>();
這樣就返回類型為int類型,免去轉換的代碼。
當查詢出來的值為null 或者DbNull ,該轉換則返回default(TResult) 。
隨之擴展了DbSession的方法:
Sum<TEntity, TResult>(Field field, WhereClip where)
Max<TEntity, TResult>(Field field, WhereClip where)
Min<TEntity, TResult>(Field field, WhereClip where)
Avg<TEntity, TResult>(Field field, WhereClip where)
返回需要的類型。
例如:
DbSession.Default.Avg<Products,decimal>(Products._.UnitPrice, WhereClip.All);
這樣返回回來的就是decimal 類型的數據。
DbSession還增加了Exists<TEntity>(WhereClip where)
判斷是否存在記錄,返回bool。
下一節將講述緩存查詢。