0

DBに保存されているEFエンティティがあります(エンティティ内のすべてのメンバーがDBに保存されます)。エンティティをWCFに渡すときに、一部のメンバーを無視したいと思います。

特に私が抱えている問題は、一部のメンバーが他のテーブルとの関係を記述しているため、WCFが多くの不要なデータを渡すか、失敗することです。

特定のメンバーをEFのマップされたメンバーとして定義する方法はありますが、WCFではNotMappedですか?

今のところ私の解決策は、EFエンティティの浅い同等物を定義し、それをWCFに渡すことです。ほとんどのデータ構造体をほぼ複製する必要があるため、これは好きではありません。もっと良い方法はありますか?

ところで-メンバーを「NotMapped」「DataMember」として宣言することで、他の方向が可能(?)であることがわかりました。反対の宣言を探しています(メンバーはEFに属し、WCFでは無視されます)

ありがとう、

4

1 に答える 1

0

[IgnoreDataMember]属性を使用できます。

例:

[DataContract]
public class Foo
{
    [DataMember]
    public string NonIgnoredProperty { get; set; }

    [IgnoreDataMember]
    public string IgnoredProperty { get; set; }

    // ....
}
于 2013-02-06T12:19:26.873 に答える