- 增加 DbContext、Repository SaveManyToMany 方法,实现手工保存 ManyToMany 关联数据;

This commit is contained in:
28810
2019-11-16 01:47:04 +08:00
parent 0f7dd75e64
commit e26dbfe526
8 changed files with 129 additions and 39 deletions

View File

@ -129,6 +129,12 @@ namespace FreeSql
_db.SaveChanges();
return entity;
}
public void SaveManyToMany(TEntity entity, string propertyName)
{
_dbset.SaveManyToMany(entity, propertyName);
_db.SaveChanges();
}
}
public abstract partial class BaseRepository<TEntity, TKey> : BaseRepository<TEntity>, IBaseRepository<TEntity, TKey>

View File

@ -36,7 +36,7 @@ namespace FreeSql
async public virtual Task<TEntity> InsertAsync(TEntity entity)
{
await _dbset.AddAsync(entity);
_db.SaveChanges();
await _db.SaveChangesAsync();
return entity;
}
async public virtual Task<List<TEntity>> InsertAsync(IEnumerable<TEntity> entitys)
@ -60,9 +60,15 @@ namespace FreeSql
async public Task<TEntity> InsertOrUpdateAsync(TEntity entity)
{
await _dbset.AddOrUpdateAsync(entity);
_db.SaveChanges();
await _db.SaveChangesAsync();
return entity;
}
async public Task SaveManyToManyAsync(TEntity entity, string propertyName)
{
await _dbset.SaveManyToManyAsync(entity, propertyName);
await _db.SaveChangesAsync();
}
}
partial class BaseRepository<TEntity, TKey>

View File

@ -29,6 +29,12 @@ namespace FreeSql
int Update(IEnumerable<TEntity> entitys);
TEntity InsertOrUpdate(TEntity entity);
/// <summary>
/// 保存实体的指定 ManyToMany 导航属性
/// </summary>
/// <param name="entity">实体对象</param>
/// <param name="propertyName">属性名</param>
void SaveManyToMany(TEntity entity, string propertyName);
IUpdate<TEntity> UpdateDiy { get; }
@ -43,6 +49,7 @@ namespace FreeSql
Task<int> UpdateAsync(TEntity entity);
Task<int> UpdateAsync(IEnumerable<TEntity> entitys);
Task<TEntity> InsertOrUpdateAsync(TEntity entity);
Task SaveManyToManyAsync(TEntity entity, string propertyName);
Task<int> DeleteAsync(TEntity entity);
Task<int> DeleteAsync(IEnumerable<TEntity> entitys);