using Ant.ORM;
using Ant.Utility;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
namespace Ant.Core
{
class DbSession : IDbSession
{
DbContext _dbContext;
internal DbSession(DbContext dbContext)
{
this._dbContext = dbContext;
}
public IDbContext DbContext { get { return this._dbContext; } }
public bool IsInTransaction { get { return this._dbContext.InnerDbSession.IsInTransaction; } }
///
/// 返回执行影响的条数
///
///
///
///
public int ExecuteNonQuery(string sql, params DbParam[] parameters)
{
Utils.CheckNull(sql, "sql");
return this._dbContext.InnerDbSession.ExecuteNonQuery(sql, parameters);
}
///
/// 返回首行首列数据
///
///
///
///
public object ExecuteScalar(string sql, params DbParam[] parameters)
{
Utils.CheckNull(sql, "sql");
return this._dbContext.InnerDbSession.ExecuteScalar(sql, parameters);
}
///
/// 只读方式执行SQL语句
///
///
///
///
public IDataReader ExecuteReader(string sql, params DbParam[] parameters)
{
Utils.CheckNull(sql, "sql");
return this._dbContext.InnerDbSession.ExecuteInternalReader(sql, parameters, CommandType.Text);
}
///
/// 开启事务
///
public void BeginTransaction()
{
this._dbContext.InnerDbSession.BeginTransaction();
}
///
/// 开启事务
///
///
public void BeginTransaction(IsolationLevel il)
{
this._dbContext.InnerDbSession.BeginTransaction(il);
}
///
/// 提交事务
///
public void CommitTransaction()
{
this._dbContext.InnerDbSession.CommitTransaction();
}
///
/// 回滚事务
///
public void RollbackTransaction()
{
this._dbContext.InnerDbSession.RollbackTransaction();
}
///
/// 释放资源
///
public void Dispose()
{
this._dbContext.Dispose();
}
}
}