我正在將WCF RIA Services與實體框架4.0結合使用。IncludeAttribute是否在ObjectQuery和DbSet包含方法上添加了任何值?
爲確保相關對象能夠安全地將其交給客戶端,我需要在我的DomainService中使用ObjectQuery(Of T).Include或DbSet(Of TResult).Include方法首先將它們包含在內。我還需要將IncludeAttribute添加到元數據類中的導航屬性。
我做一個單決定讓傳輸到客戶端相關的對象,我被迫做出變化來實現它,這似乎有點多餘。
我正在考慮對T4模板進行修改,以便所有導航屬性都自動使用IncludeAttribute進行修飾。
我有點擔心之前的請求遺留下來的實體被無意中發送給客戶端,但我的理解是DomainService是無狀態的,這應該意味着情況並非如此,對嗎?
了「的DomainService」名稱的一點是,它是stateless 對象,表示那是我 應用特性的特定領域。
Another approach我看到的是自動將Include屬性應用到項目中的任何元數據文件。我仍然需要創建元數據文件。
有沒有其他的危險,我沒有看到?有沒有更好的方法來達到同樣的效果?
OP似乎有完全相同的問題。儘管如此,我覺得答案有點缺失。在無狀態的服務中,沒有延遲加載,該屬性添加了什麼值? –
在EF案例中,它不會增加很多。雙重決定可能會限制存儲過程等數據,否則這些數據會返回比您希望從服務中公開的更多信息。 –