using System; using System.Collections; using System.Collections.Generic; using System.Data; using System.Data.Common; using System.Linq; using System.Linq.Expressions; using System.Text; using System.Threading.Tasks; namespace FreeSql { public abstract class DbSet where TEntity : class { protected DbContext _ctx; public ISelect Select => _ctx._fsql.Select().WithTransaction(_ctx.GetOrBeginTransaction(false)); public IInsert Insert(TEntity source) => _ctx._fsql.Insert(source).WithTransaction(_ctx.GetOrBeginTransaction()); public IInsert Insert(TEntity[] source) => _ctx._fsql.Insert(source).WithTransaction(_ctx.GetOrBeginTransaction()); public IInsert Insert(IEnumerable source) => _ctx._fsql.Insert(source).WithTransaction(_ctx.GetOrBeginTransaction()); public IUpdate Update => _ctx._fsql.Update().WithTransaction(_ctx.GetOrBeginTransaction()); public IDelete Delete => _ctx._fsql.Delete().WithTransaction(_ctx.GetOrBeginTransaction()); //protected Dictionary _vals = new Dictionary(); //protected tableinfo //public void Add(TEntity source) { //} //public void AddRange(TEntity[] source) { //} //public void AddRange(IEnumerable source) { //} //public void Update(TEntity source) { //} //public void UpdateRange(TEntity[] source) { //} //public void UpdateRange(IEnumerable source) { //} //public void Remove(TEntity source) { //} //public void RemoveRange(TEntity[] source) { //} //public void RemoveRange(IEnumerable source) { //} } internal class BaseDbSet : DbSet where TEntity : class { public BaseDbSet(DbContext ctx) { _ctx = ctx; } } }