簡體   English   中英

在WCF服務中公開為對象的數據庫實體

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM