如何定义将被wcf忽略的映射代码第一个成员

时间:2013-02-06 12:14:19

标签: c# .net wcf entity-framework ef-code-first

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

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

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

我现在的解决方案是定义EF实体的浅层等价物,然后通过WCF传递。我不喜欢这个,因为我必须几乎复制我的大多数数据结构。有没有更好的办法?

btw - 我通过将成员声明为“NotMapped”“DataMember”,看到了另一个方向(?)。我正在寻找相反的声明(成员属于EF,被WCF忽略)

感谢,

1 个答案:

答案 0 :(得分:0)

您可以使用[IgnoreDataMember]属性。

示例:

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

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

    // ....
}