2010-09-16 48 views
0

在Nerd Dinner的實體框架庫中,查詢的返回類型對應於模型而不是EF概念實體。書呆子晚餐 - 如何確定EF查詢的返回類型?

public IQueryable<Dinner> FindAllDinners() 
{ 
    return db.Dinners; 
} 

... 

public ObjectSet<Dinner> Dinners // NerdDinner.Designer.cs, line 76 

晚餐的類型是NerdDinner.Models.Dinner。

我注意到NerdDinner.Designer.cs的命名空間與模型(NerdDinner.Models)的命名空間相同。我假設它拉着這個名字空間,因爲它坐在Models文件夾中。

問:

有人可以證實的是,EF查詢的返回類型由EF配置的命名空間,而且EF配置的命名空間是由EF文件的物理位置決定驅動?

如果命名空間/位置不同,並且Code First CTP不是一個選項,那麼有什麼選擇可以使此技術有效?這個特定的命名空間是可配置的嗎?

回答

2

它們是相同的類型。您可能沒有注意到Models目錄中的類是部分類,它們是由EF類組成的。部分類必須位於相同的名稱空間中。

+0

謝謝唐納德 - 幫助我瞭解發生了什麼事。書呆子晚宴利用了生成的部分類和編碼的部分類被視爲相同類型的事實。由於部分類不能跨越多個程序集(每個http://stackoverflow.com/questions/2263712/c-partial-classes),我只能通過不同的方法來解決這個問題。 – Mayo 2010-09-16 20:01:49

相關問題