2011-11-12 2 views
0

JSONとしてデータを返すWCF Webサービスを作成しようとしていますので、クライアントスクリプトから呼び出すことができます。[DataContractAttribute(IsReference = true)]と[DataContract]の相違点

Webメソッドから返りたいクラスを、[DataContract]属性に飾り、次に[DataMember]のメンバーをデコレートする必要があることは知っています。そのことを念頭においてエンティティタイプを返すので、エンティティObjectContextクラスに行きました。しかし

私はクラスがそうのように装飾されていることがわかります.edmxファイルを見て...私は、試してみて、と言って、私はエラーを取得[DataContract]を追加すると

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

私はできません属性が重複しています。私は彼らが似ている間は混乱していますが、彼らは明らかに違っていませんか?

私の質問の2番目の部分は、WCFサービスでエンティティタイプを返す方法です。

答えて

4

2つの属性は同じです。末尾の「属性」を除外することができます。 From MSDN

慣例として、すべての属性名は「属性」という語で終わり、.NET Frameworkの他の項目と区別されます。ただし、コード内の属性を使用する場合は、属性サフィックスを指定する必要はありません。

+1

そしてDataContractAttribute.IsReferenceプロパティ(http://msdn.microsoft.com/en-us/library/system.runtime.serialization.datacontractattribute.isreference.aspxは)虚偽のデフォルト値を持っています。 –

関連する問題