我從數據庫中檢索數據(實體框架)使用的DTO:加載虛擬財產
IQueryable<User> users = repository.ListFiltered<User>(n => n.Active);
var usersDTO = from user in users
select new UserAccountDTO{
UserId = user.Id,
UserName = user.Name,
InstitutionName = user.Institution.Name,
InstitutionCountry = user.Institution.Country.Name
};
我這樣做是因爲用戶實體和機構實體,有很多的數據我現在不需要,所以我不想從數據庫中檢索它。
但問題是,我不喜歡的代碼,我想拆分代碼並連接選擇,有無論如何做到這一點?
我想到達這樣的:
users.LoadUserData().LoadInstitutionData();
你說什麼?可能嗎?
所以'Institution'是導航屬性到'User'。你爲什麼不簡單地''選擇'在你的版本庫。ListFiltered?然後最後做'.ToList()',因爲你試圖實現的是甚至是複雜的,而不是整潔的 –
因爲我不想檢索所有的數據,我只需要一些字段,並且在某些條件下... –