私はWCFを初めて使いました。私のWebプロジェクトには、エンティティコンテナ名JobSystemEntities
を持つADO.NETエンティティデータモデル(別名EF edmx)があります。oData WCFサービス - 要素を非表示
私はJobSystemEntities
を使用して、簡単なODATA WCFデータサービスを作成しました、そして、それは素晴らしい作品:
public class JobService : DataService<JobSystemEntities>
{
public static void InitializeService(DataServiceConfiguration config)
{
config.SetEntitySetAccessRule("Jobs", EntitySetRights.ReadSingle);
}
はしかし、これは仕事上のすべてのプロパティを公開します。私は、機密データ、つまりジョブテーブルのコストフィールド/プロパティ/列を非表示にしたいと考えています。
EFモデルでその属性を非表示にするのが最も簡単です(例:それを使用してはいけません。これを行うことができますか?または、ODataサービス用にカスタムEFモデルを作成し、そのカスタムモデルの「ジョブ」エンティティからその属性を非表示にできますか? –
ウェブサイトのコストフィールドを使用するので、EFモデルにする必要があります。 oDataサービス用の2番目のEFモデルを作成する提案もありますが、これを行う別の方法がないのは驚きです。 –