我有一个存储在DB中的EF实体(实体中的每个成员都保存在数据库中)。我想在通过WCF传递实体时忽略一些成员。
具体而言,我遇到的问题是某些成员描述了与其他表的关系,导致WCF传递大量不必要的数据或失败。
有没有办法在EF中将某个成员定义为映射成员,但是为WCF定义NotMapped?
我现在的解决方案是定义EF实体的浅层等价物,然后通过WCF传递。我不喜欢这个,因为我必须几乎复制我的大多数数据结构。有没有更好的办法?
btw - 我通过将成员声明为“NotMapped”“DataMember”,看到了另一个方向(?)。我正在寻找相反的声明(成员属于EF,被WCF忽略)
感谢,
答案 0 :(得分:0)
您可以使用[IgnoreDataMember]属性。
示例:
[DataContract]
public class Foo
{
[DataMember]
public string NonIgnoredProperty { get; set; }
[IgnoreDataMember]
public string IgnoredProperty { get; set; }
// ....
}