我想從實體框架中獲取帶有參數調試目的的查詢字符串。不,我不會使用EFProfiler,因爲查詢字符串需要作爲頁面上的輸出顯示。大多數這些查詢是使用ExecuteStoredQuery()手動編寫的。但是,將它們轉換爲ObjectQuery將產生空值。EF5 ObjectResult to ObjectQuery爲空?
實施例:
ObjectResult<Parent> model = _context.ObjectContext().ExecuteStoreQuery<Parent>("SELECT * FROM Parents");
var objectQuery = model.AsQueryable() as ObjectQuery<Parent>;
的ObjectQuery爲空。 ObjectContext的()是看起來像一個DataContext的簡單的方法:
return (this as IObjectContextAdapter).ObjectContext;
我已經用盡了自己的想法和任何由搜索產生回...嗯,沒用的,因爲似乎沒有人吃出問題。請注意,結果會從查詢中正確回來。
編輯:對,我也應該提到這一點。
這樣做:
var oq = m as ObjectQuery<Parent>;
息率我:
無法通過引用轉換轉換型 'System.Data.Objects.ObjectResult' 到 'System.Data.Objects.ObjectQuery',拳擊轉換,拆箱轉換,包裝轉換或空類型轉換
從什麼時候我認爲它需要投出AsQueryable(),哪個,以及...爲空,原因很明顯。這是我累了的腦袋,忘了添加這個小細節。
我已經用這個被遺忘的細節更新了原始問題,它不允許我將原始m作爲對象查詢。 – NeroS