- 增加 BaseEntity 物理删除方法 Delete(true);#152

- 修复 Sqlite attachs 附加数据库别名 bug;
This commit is contained in:
28810 2019-12-09 16:48:42 +08:00
parent 9bae834386
commit cc585b4cd5
4 changed files with 25 additions and 4 deletions

View File

@ -80,8 +80,17 @@ namespace FreeSql
/// <summary> /// <summary>
/// 删除数据 /// 删除数据
/// </summary> /// </summary>
/// <param name="physicalDelete">是否物理删除</param>
/// <returns></returns> /// <returns></returns>
public virtual bool Delete() => this.UpdateIsDeleted(true); public virtual bool Delete(bool physicalDelete = false)
{
if (physicalDelete == false) return this.UpdateIsDeleted(true);
if (this.Repository == null)
return Orm.Delete<TEntity>(this as TEntity).ExecuteAffrows() == 1;
//this.SetTenantId();
this.Repository.UnitOfWork = UnitOfWork.Current.Value;
return this.Repository.Delete(this as TEntity) == 1;
}
/// <summary> /// <summary>
/// 恢复删除的数据 /// 恢复删除的数据
/// </summary> /// </summary>

View File

@ -62,8 +62,17 @@ namespace FreeSql
/// <summary> /// <summary>
/// 删除数据 /// 删除数据
/// </summary> /// </summary>
/// <param name="physicalDelete">是否物理删除</param>
/// <returns></returns> /// <returns></returns>
public virtual Task<bool> DeleteAsync() => this.UpdateIsDeletedAsync(true); async public virtual Task<bool> DeleteAsync(bool physicalDelete = false)
{
if (physicalDelete == false) return await this.UpdateIsDeletedAsync(true);
if (this.Repository == null)
return await Orm.Delete<TEntity>(this as TEntity).ExecuteAffrowsAsync() == 1;
//this.SetTenantId();
this.Repository.UnitOfWork = UnitOfWork.Current.Value;
return await this.Repository.DeleteAsync(this as TEntity) == 1;
}
/// <summary> /// <summary>
/// 恢复删除的数据 /// 恢复删除的数据
/// </summary> /// </summary>

View File

@ -230,6 +230,9 @@ namespace FreeSql.Tests
[Fact] [Fact]
public void Test02() public void Test02()
{ {
var testcf = g.sqlite.CodeFirst.GetComparisonDDLStatements(typeof(dfDto2), "main.test2");
var u1 = new userinfo { var u1 = new userinfo {
name = "111", name = "111",
departments = new List<departments>(new[]{ departments = new List<departments>(new[]{

View File

@ -242,7 +242,7 @@ namespace FreeSql.Sqlite
{ {
var sb = new StringBuilder(); var sb = new StringBuilder();
foreach (var att in attach) foreach (var att in attach)
sb.Append($"attach database [{att}] as [{att.Split('.').First()}];\r\n"); sb.Append($"attach database [{att}] as [{att.Split('/', '\\').Last().Split('.').First()}];\r\n");
var cmd = that.CreateCommand(); var cmd = that.CreateCommand();
cmd.CommandText = sb.ToString(); cmd.CommandText = sb.ToString();
@ -274,7 +274,7 @@ namespace FreeSql.Sqlite
{ {
var sb = new StringBuilder(); var sb = new StringBuilder();
foreach (var att in attach) foreach (var att in attach)
sb.Append($"attach database [{att}] as [{att.Split('.').First()}];\r\n"); sb.Append($"attach database [{att}] as [{att.Split('/', '\\').Last().Split('.').First()}];\r\n");
var cmd = that.CreateCommand(); var cmd = that.CreateCommand();
cmd.CommandText = sb.ToString(); cmd.CommandText = sb.ToString();