2010-07-27 98 views
3

我有以下DB結構(簡體版):實體框架4 POCO - 懶+預先加載

Comments - CommentId, UserId 
Users - UserId 
UserDetails - UserId, Address, Phone, etc. 

我使用EF 4POCOsComment類的User屬性標記爲virtual(爲其啓用延遲加載)。但是,我想在User屬性加載(懶惰)時還要加載其屬性UserDetails(關係用戶 - UserDetails爲1:1)。那可能嗎?我可以用某種方式指定它嗎?我想以某種方式進行懶惰+渴望加載..

+0

所以你想延遲加載'用戶'數據。但是,當'用戶'延遲加載時,你想確保UserDetails同時被加載? – 2010-07-27 07:36:21

+0

我不知道你簡化了多少,但如果'User'和'UserDetails'表是真的1:1,而不是1:0..1或0..1:0..1,你應該能夠把表格放在一起,並加載一切懶... – 2010-07-27 07:37:11

+0

@ Pure.Krome - 是的。 @Tomas Lycken - 好吧,我的數據庫設計就是這樣,我不能改變它(我也不想) – 2010-07-27 07:42:40

回答

1

不,你不能這樣做。然而,您可以使用entity splitting技術將多個錶轉換爲單個實體。聽起來就像你真的那樣。

+0

啊 - 好皮卡@克雷格:)它有點像一個視圖,無需製作視圖... 。 – 2010-07-28 02:49:20