- 增加 SqlServer ISelect.WithLock 扩展方法,实现 with(nolock) 查询;

- 增加 SqlServer IFreeSql.SetGlobalSelectWithLock 扩展方法,实现全局设置 with(nock) 查询;
- 移除 Aop.ToList;
- 移除 Aop.Where;
This commit is contained in:
28810
2019-11-06 13:58:19 +08:00
parent 9516131383
commit 0c341360b7
25 changed files with 228 additions and 236 deletions

View File

@ -118,6 +118,13 @@ namespace FreeSql
/// <returns></returns>
TSelect AsTable(Func<Type, string, string> tableRule);
/// <summary>
/// 设置别名规则,可用于拦截表别名,实现类似 sqlserver 的 with(nolock) 需求<para></para>
/// 如select.AsAlias((_, oldAlias) => oldAlias + " with(lock)")
/// </summary>
/// <param name="aliasRule"></param>
/// <returns></returns>
TSelect AsAlias(Func<Type, string, string> aliasRule);
/// <summary>
/// 动态Type在使用 Select&lt;object&gt; 后使用本方法,指定实体类型
/// </summary>
/// <param name="entityType"></param>

View File

@ -12,17 +12,6 @@ namespace FreeSql
{
public interface IAop
{
/// <summary>
/// 监控 ToList 返回的的数据,用于拦截重新装饰
/// </summary>
EventHandler<Aop.ToListEventArgs> ToList { get; set; }
/// <summary>
/// 监视 Where包括 select/update/delete可控制使上层不被执行。
/// </summary>
EventHandler<Aop.WhereEventArgs> Where { get; set; }
/// <summary>
/// 可自定义解析表达式
/// </summary>
@ -64,29 +53,6 @@ namespace FreeSql
namespace FreeSql.Aop
{
public class ToListEventArgs : EventArgs
{
public ToListEventArgs(object list)
{
this.List = list;
}
/// <summary>
/// 可重新装饰的引用数据
/// </summary>
public object List { get; }
}
public class WhereEventArgs : EventArgs
{
public WhereEventArgs(params object[] parameters)
{
this.Parameters = parameters;
}
public object[] Parameters { get; }
/// <summary>
/// 可使上层不被执行这个条件
/// </summary>
public bool IsCancel { get; set; }
}
public class ParseExpressionEventArgs : EventArgs
{
public ParseExpressionEventArgs(Expression expression, Func<Expression, string> freeParse)