2017-08-29 31 views
1

ASP.NET樣板工程。如何從數據庫中精確地獲取所有用戶

我有一個用戶的數據庫。我正在使用標準方法檢索它們_userRepository.GetAll()並刪除_userRepository.Delete(id)

默認情況下,當用戶標識刪除時,它仍然保留在數據庫中,isDeleted 字段標記爲true。

我的問題是:有沒有在ABP從數據庫中檢索正是所有用戶的任何默認的方法,什麼如下:

有沒有其他的可能性,這樣做比寫存儲過程

SELECT * FROM dbo.AbpUsers 

並在存儲庫中使用它(然後在服務中)?

+0

有你找到任何解決辦法?然後分享,我有同樣的問題 –

+0

不,過濾器沒有工作。我編寫了自己的存儲過程,並使用適當的實體和DTO從數據庫中檢索所有用戶(就像任何其他非ABP存儲庫默認存儲過程一樣)。 – Dawid

回答

0

你應該disable filterSoftDelete):

//provided by DI 
private readonly IUnitOfWorkManager _unitOfWorkManager; 

using (_unitOfWorkManager.Current.DisableFilter(AbpDataFilters.SoftDelete)) 
//or 
//using (CurrentUnitOfWork.DisableFilter(AbpDataFilters.SoftDelete)) 
{ 
    var completelyAllUsers = _userRepository.GetAllList();     
} 
+0

我是否需要裝配或參考才能使用它? 我在嘗試,但出現錯誤: 'Abp.Domain.Uow.IActiveUnitOfWork'不包含'DisableFilter'的定義,也沒有接受類型'Abp.Domain.Uow'的第一個參數的擴展方法'DisableFilter' .IActiveUnitOfWork'可以找到(你是否缺少使用指令或程序集引用?)\t' 另一個錯誤: '名稱'AbpDataFilters'在當前上下文中不存在' – Dawid

+0

@Dawid,它們全部來自'Abp .Domain.Uow'命名空間來自'Abp'程序集 –

+0

那麼爲什麼如果我使用Abp.Domain.Uow'會出現這樣的錯誤呢? – Dawid

相關問題