0

我有一个存储在数据库中的 EF 实体(实体中的每个成员都保存在数据库中)。通过 WCF 传递实体时,我想忽略一些成员。

具体来说,我遇到的问题是一些成员描述了与其他表的关系,导致 WCF 要么传递大量不必要的数据,要么失败。

有没有办法将某个成员定义为 EF 中的映射成员,但 NotMapped 用于 WCF?

我现在的解决方案是定义一个 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 回答