我有結構簡單的數據庫:實體框架,ArgumentNullException
markimaster(id, name), modelemaster(id, marka_id), typymaster(id, model_id)
我定義的表之間的關係和與此代碼獲取數據:
ObjectQuery<markimaster> markiQuery = context.markimaster.Include("modelemaster.typymaster");
bindingSourceMarki.DataSource = markiQuery;
最後一行拋出ArgumentNullException與PARAMNAME:實體。 當我改變我的代碼如下:
ObjectQuery<markimaster> markiQuery = context.markimaster.Include("modelemaster");
bindingSourceMarki.DataSource = markiQuery;
它的工作的(指沒有拋出異常),所以我想也許有行typymaster未在modelemaster coresponding行了,但是檢查數據庫顯示沒有。
由於我是新來的EntityFramework我不知道什麼是錯的,所以來到這裏尋找意見;)
[更新]
我跑我的數據庫中查詢:
選擇* from modelemaster where model_id not in(select model_id from typymaster)
返回2000行。所以有沒有類型的模型。
[更新]
這是我的.edmx文件的片段
EntitySet Name="markimaster" EntityType="MMT_Master.store.markimaster" store:Type="Tables" Schema="public"
EntitySet Name="modelemaster" EntityType="MMT_Master.store.modelemaster" store:Type="Tables" Schema="public"
EntitySet Name="typymaster" EntityType="MMT_Master.store.typymaster" store:Type="Tables" Schema="public"
因此它似乎傳遞到包括在路徑中使用的名稱是正確
感謝您的回覆。這是一樣的,但我更新了新的信息。你認爲這可能是一個問題;) – 2010-05-12 08:06:02