正如我提到的in my last question,我通過Alex D. James的優秀三歲WCF數據服務定製提供者博客閱讀。當我進入關於相關數據的部分時,我們將所有數據都盲目地描述爲ResourceTypeKind.EntityType
。 I looked up the documentation,對於使用ResourceTypeKind.ComplexType
沒有定義或指導。什麼是ResourceTypeKind.ComplexType?
我認爲這是一個非基本類型,總是被包含在我的查詢中,但找不到任何證實這一點的東西。這將是用於EF的模型。我認爲這就是爲什麼這存在。
如果我的假設是正確的,那麼我是否像我做我的ResourceTypeKind.EntityTypes
一樣定義我的ComplexTypes
?我是否可以假設WCF數據服務ComplexTypes的規則與EF ComplexTypes相同?
[編輯]對WCF Data Services a.k.a. OData查詢有什麼影響?我是否期望使用.Expand(complex)a.k.a. $ expand?在使用LInQ和WCF數據服務客戶端的客戶端中,我應該創建一個匿名類型來獲取複雜類型嗎?客戶是否知道它們是ComplexType?
是的。 EF和WCF數據服務中複雜類型的規則類似。將複雜類型看作結構類型(如實體),但沒有標識,因此不能像實體類型那樣直接查詢。對於例如您可以定義一個名爲「Address」的複雜類型,在一個實體中擁有這種複雜類型的屬性。希望這可以幫助。 – Pratik
謝謝@Pratik,這證實了我的假設,但是對於在WCF Data Services a.k.a. OData中查詢有什麼影響?我是否期望使用.Expand(complex)a.k.a. $ expand?在使用LInQ和WCF數據服務客戶端的客戶端中,我應該創建一個匿名類型來獲取複雜類型嗎? –