第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何模擬EntityFramework的IQueryable實現(xiàn)的局限性

如何模擬EntityFramework的IQueryable實現(xiàn)的局限性

如何模擬EntityFramework的IQueryable實現(xiàn)的局限性我目前正在為MVC4應(yīng)用程序中的存儲庫實現(xiàn)編寫單元測試。為了模擬數(shù)據(jù)上下文,我開始采用這篇文章中的一些想法,但我現(xiàn)在發(fā)現(xiàn)了一些限制,讓我懷疑是否有可能正確模擬IQueryable。特別是,我已經(jīng)看到了一些測試通過但代碼在生產(chǎn)中失敗的情況,并且我無法找到任何方法來模擬導(dǎo)致此失敗的行為。例如,以下代碼段用于選擇Post屬于預(yù)定義類別列表的實體:var posts = repository.GetEntities<Post>(); // Returns IQueryable<Post>var categories = GetCategoriesInGroup("Post"); // Returns a fixed list of type Categoryvar filtered = posts.Where(p => categories.Any(c => c.Name == p.Category)).ToList();在我的測試環(huán)境中,我試圖嘲弄posts使用假DbSet上面提到的實施,同時也通過創(chuàng)建List的Post實例并將其轉(zhuǎn)換為IQueryable使用AsQueryable()擴(kuò)展方法。這兩種方法都在測試條件下工作,但代碼實際上在生產(chǎn)中失敗,但有以下例外:System.NotSupportedException : Unable to create a constant value of type 'Category'. Only primitive types or enumeration types are supported in this context.雖然像這樣的LINQ問題很容易解決,但真正的挑戰(zhàn)是找到它們,因為它們不會在測試環(huán)境中顯示出來。我期望我可以嘲笑實體框架的實施行為,這是不現(xiàn)實的IQueryable嗎?謝謝你的想法,蒂姆。
查看完整描述

2 回答

  • 2 回答
  • 0 關(guān)注
  • 777 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號