【问题标题】:MetadataType doesn't recognize IgnoreDataMemberAttributeMetadataType 无法识别 IgnoreDataMemberAttribute
【发布时间】:2014-06-18 08:10:15
【问题描述】:

我有一个由Entity Framework 从数据库自动生成的实体

public partial class Demand : Entity
{
    public string Description { get; set; }
    public virtual ICollection<DemandUserComment> DemandUserComments { get; set; }
}

然后添加 A MetadataType 以将 DataContractDataMemeber 属性添加到该实体(独立于 Db 更改)。

[DataContract(IsReference=true)]
internal class DemandMetaData
{
    [IgnoreDataMember]
    public virtual ICollection<DemandUserComment> DemandUserComments { get; set; }
}
[MetadataType(typeof (DemandMetaData))]
public partial class Demand
{
}

但是[IgnoreDataMember] 不适用于Demand 我该如何处理?

【问题讨论】:

  • 我也遇到了同样的问题,你想好怎么解决了吗?

标签: c# entity-framework wcf metadata metadatatype


【解决方案1】:

使用[NotMapped] 属性。请参阅 MSDN 上的NotMappedAttribute Class

【讨论】:

  • 虽然这个答案理论上可以回答问题,it is better to include the essential parts of the answer here,并提供链接供参考。请将相关内容直接添加到您的答案中,因为它会防止链接失效。
  • @Joseph - 我相信[NotMapped] 回答了这个问题。该链接只是一个引用。考虑到它来自 MSDN,该链接可能不会很快消失(它可能会移动,但那是另一回事......)。
  • 对不起,这不是答案。据我所知,NotMapped 是告诉 EF 目标属性不应该映射到数据库。不是这种情况。我认为Mohsen和我有同样的问题,我们需要通过WCF暴露我们的EF,但是我们不想序列化虚拟属性(Navigating Properties)。这应该可以工作,但由于某种原因,WCF 服务器忽略了元数据声明。你可以看到我在这个主题上的 3 次尝试。 Try1, Try2, Try3
猜你喜欢
  • 1970-01-01
  • 2018-10-11
  • 1970-01-01
  • 1970-01-01
  • 2018-06-18
  • 2013-04-19
  • 2019-01-28
  • 2017-08-10
  • 2019-11-01
相关资源
最近更新 更多