0
最近我關閉了我的應用程序中的LazyLoading,因爲我希望它讓我更加意識到我發送的SQL查詢的數量。問題是,當我在嘗試訪問實體之前忘記了某處加載實體時,它只是返回null(而不是Exception)。這意味着我的邏輯錯誤地認爲該值爲空,導致流程後面的所有類型的問題。訪問實體框架中的卸載導航屬性時是否可以拋出異常?
我知道有IsLoaded標誌,但首先你必須添加樣板代碼,其次,這仍然是你可以忘記檢查的東西。
是否有可能讓實體框架在訪問卸載導航屬性時自動拋出異常?這對我來說似乎是正確的方式,爲什麼你會想要忽略你的實體沒有加載並讓程序繼續的事實?
或者我在錯誤的方向思考? :|
(順便說一句EntityCollections更差,因爲他們根本返回一個空列表像什麼是錯的)
我使用DB首先,但它聽起來像很多工作。你會推薦這樣做嗎?你怎麼處理這個問題呢? – 2012-04-14 13:29:22
它不應該這麼大。您將從現有模板開始,只更新導航屬性的屬性獲取器生成代碼。 – 2012-04-14 13:37:11