我覺得我可能會在這裏丟失一些關鍵的東西(或者只是簡單的),但是我無法得到這個工作。公開WCF數據服務中的實體的其他屬性
鑑於我創建了一個ASP.NET(.NET 4.0)Web應用程序項目,我在其中託管一個WCF數據服務。 我已經從現有數據庫生成了EF 5.0實體類型的POCO實體,並且像往常一樣實體類是partial
。
我的數字,
吉,我將在數據服務「擴展」這些部分類以露出另外的(非持續,計算)屬性*。
*爲了簡便起見,我們假設一個Person
實體,而我要添加FullName
屬性,它串接FirstName
和LastName
。
無論如何,我去我的生意繼續partial
類(在課程的相同的命名空間)
public partial class Person {
public string FullName {
get { return this.FirstName + " " + this.LastName; }
}
}
然而,當我在服務上,沒有FullName
查詢Person
實體。當我查詢服務的$metadata
時,沒有定義FullName
。
需要做什麼(如果有什麼)來支持?
注意
- 所有實體通過
config.SetEntitySetAccessRule("*", EntitySetRights.All);
- 我已經試過各種屬性沒有成功,包括
EdmScalarPropertyAttribute
和DataMemberAttribute
對物業裝飾是可見的。
我明白了。我不認爲這是數據服務本身會關注的東西;相反,英孚在某個地方給我提供了兜帽。我認爲數據服務主要是將URI /方法映射到實體及其成員。手動修改實體定義從修改後的模式重新生成它有什麼區別? – Dan
您的擴展屬性對EF模型完全未知。 DataService從EF模型派生出它的輸入信息。因此,只有實際上是EF模型一部分的屬性纔會出現。 –
明白了;我一直在探索WCF DS的新版本中提供的一些功能,以及定製的服務定義。也許在某個地方,易於實施和靈活性之間的平衡將浮出水面。 – Dan