首页 文章

[DataContractAttribute(IsReference = true)]和[DataContract]之间有什么区别?

提问于
浏览
0

我正在尝试编写一个WCF Web服务,它将我的数据作为JSON返回,所以我可以从一些客户端脚本中调用它 .

我知道我需要在 [DataContract] 属性中装饰我想要从Web方法返回的任何类,然后在 [DataMember] 中装饰任何成员 . 记住我想要返回实体类型,所以我去了Entity ObjectContext 类 .

但是,当我查看.edmx文件时,我可以看到这些类已经被装饰过......

[EdmEntityTypeAttribute(NamespaceName="PteDotNetModel", Name="AssocFile")]
[Serializable()]
[DataContractAttribute(IsReference=true)]
public partial class AssocFile : EntityObject

然后,当我尝试添加 [DataContract] 时,我得到一个错误,说我可以混淆,虽然他们相似但是他们明显不同吗?

我的问题的第二部分是如何通过WCF服务返回实体类型?

1 回答

  • 4

    这两个属性是一样的;可以排除尾随"Attribute" . From MSDN

    按照惯例,所有属性名称都以单词“Attribute”结尾,以区别于.NET Framework中的其他项 . 但是,在代码中使用属性时,不需要指定属性后缀 .

相关问题