[英]Database entity exposed as object in WCF service
我有一個WCF服務,其中有一個方法,該方法使用Entity Framework返回表示數據庫表(住宿)的對象的IQueryable。 當我嘗試在客戶端使用該方法時,該方法不會返回IQueryable而是對象。 我查看了服務的代碼,實體框架生成的Accommodation類具有此屬性
[DataContractAttribute(IsReference=true)]
因此,AFAIK客戶端應該能夠看到該類。 這是怎么了?
謝謝,
薩欽
該類型僅在合同中使用時才會顯示在元數據中。 元數據不知道IQueryable是什么-它是行為的定義,而合同僅定義狀態,因此生成的代碼將使用在這種情況下可以理解的東西-即對象
在服務合同中使用EF生成的類型確實不是一個好主意-實際上,您將服務使用者與數據訪問層緊密耦合。 在服務內部使用EF並使用定義您要在服務邊界傳遞的數據的類型
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.