public static Task <TEntity> InsertAsync <TKey, TEntity>(this INewEntityStore <TKey, TEntity> newStore, IStorageDbConnection conn, TEntity entityToInsert, IEnumerable <Expression <Func <TEntity, object> > > ignoredFields, IDbTransaction tr, CancellationToken cancellationToken) where TKey : IEquatable <TKey> where TEntity : class, IEntity <TKey> { if (newStore == null) { throw new ArgumentNullException(nameof(newStore)); } return(newStore.InsertAsync(conn, entityToInsert, ignoredFields, null, tr, cancellationToken)); }
public static Task <TEntity> InsertAsync <TKey, TEntity>(this INewEntityStore <TKey, TEntity> newStore, IStorageDbConnection conn, TEntity entityToInsert, AutoIncrementTransformer <TKey, TEntity> atf, CancellationToken cancellationToken) where TKey : IEquatable <TKey> where TEntity : class, IEntity <TKey> { if (newStore == null) { throw new ArgumentNullException(nameof(newStore)); } return(newStore.InsertAsync(conn, entityToInsert, null, atf, null, cancellationToken)); }
public static Task <TEntity> InsertAsync <TKey, TEntity>(this INewEntityStore <TKey, TEntity> newStore, IStorageDbConnection conn, TEntity entityToInsert, IDbTransaction tr) where TKey : IEquatable <TKey> where TEntity : class, IEntity <TKey> { if (newStore == null) { throw new ArgumentNullException(nameof(newStore)); } return(newStore.InsertAsync(conn, entityToInsert, null, null, tr, default(CancellationToken))); }
public static Task <TEntity> InsertAutoIncrementAsync <TKey, TEntity>(this INewEntityStore <TKey, TEntity> newStore, IStorageDbConnection conn, TEntity entityToInsert, IDbTransaction tr, CancellationToken cancellationToken) where TKey : IEquatable <TKey> where TEntity : class, IEntity <TKey> { if (newStore == null) { throw new ArgumentNullException(nameof(newStore)); } return(newStore.InsertAsync(conn, entityToInsert, new Expression <Func <TEntity, object> >[] { _ => _.Id, }, (a, b) => b.Id = a, tr, cancellationToken)); }