次の方法で共有


データ転送形式 (ADO.NET Data Services フレームワーク)

ADO.NET Data Services フレームワークは、さまざまなクライアント エージェントに対応するために、複数のデータ形式による HTTP 要求と応答をサポートしています。現在、ADO.NET Data Services フレームワークは、JavaScript Object Notation (JSON) と Atom Publishing Protocol (AtomPub) でデータを表現できます。

既定の表現形式は AtomPub であり、AtomPub の XML 構文に対するエンティティ データ モデル (EDM) の固定マッピングによって生成されます。ID 'ADATUMCORP'Customer をアドレス指定する URI は、次のとおりです。

http://myserver/data.svc/Customers('ADATUMCORP')

データ サービスはここに示されたペイロードで応答します。

<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<entry xml:base="http://myserver/data.svc/"
    xmlns:ads="https://schemas.microsoft.com/ado/2007/08/dataservices"
    xmlns:adsm="https://schemas.microsoft.com/ado/2007/08/dataservices/metadata"
    adsm:type="NorthwindModel.Customers" 
    xmlns="http://www.w3.org/2005/Atom">
  <id>http://myserver/data.svc/Customers('ADATUMCORP')</id> 
  <updated /> 
  <title /> 
https://localhost:61243/nw.svc/Customers('ADATUMCORP') <author>
  <name /> 
  </author>
  <link rel="edit" href="//myserver/data.svc/Customers('ADATUMCORP')" 
       title="Customers" /> 
https://localhost:61243/nw.svc/Customers('ADATUMCORP')
       <content type="application/xml">
    <ads:CustomerID>ADATUMCORP</ads:CustomerID> 
    <ads:CompanyName>A. Datum Corporation</ads:CompanyName> 
    <ads:ContactName>Lisa Andrews</ads:ContactName> 
    <ads:ContactTitle>Sales Representative</ads:ContactTitle> 
    <ads:Address>Obere Str. 57</ads:Address> 
    <ads:City>Berlin</ads:City> 
    <ads:Region ads:null="true" /> 
    <ads:PostalCode>12209</ads:PostalCode> 
    <ads:Country>Germany</ads:Country> 
    <ads:Phone>030-0074321</ads:Phone> 
    <ads:Fax>030-0076545</ads:Fax> 
  </content>
  <link rel="related" title="Orders" 
      href="Customers('ADATUMCORP')/Orders" 
      type="application/xml;type=feed" /> 
  <link rel="related" title="CustomerDemographics" 
      href="Customers('ADATUMCORP')/CustomerDemographics" 
      type="application/xml;type=feed" /> 
</entry>

前の例の Customer エンティティには、CompanyName に割り当てられた文字列値のようなプリミティブ型の値のプロパティと、Orders のようなその他のリソースを指すプロパティが含まれます。

クライアント エージェントは、HTTP 要求の Accept ヘッダーによってデータ転送の形式を指定します。前の要求では application/atom+xml を使用しました。クライアント エージェントは、Accept ヘッダーを application/json に指定することで、次の結果を JSON 形式で取得できます。

{
   "d":{
    __metadata: {
        uri: "Customers(\'ADATUMCORP\')",
        type: "NorthwindModel.Customers"
    }, 
    CustomerID: "ADATUMCORP", 
    CompanyName: "A. Datum Corporation",
       ContactName: "Lisa Andrews", 
       ContactTitle: "Sales Representative", 
    Address: "Obere Str. 57", 
    City: "Berlin", 
    Region: null, 
    PostalCode: "12209", 
    Country: "Germany", 
    Phone: "030-0074321", 
    Fax: "030-0076545", 
    Orders: {
        __deferred: {
            uri: "Customers(\'ADATUMCORP\')/Orders"
        }
    }
   }
}

セマンティクス的に同等であるものの、ほとんどの JSON バージョンは、AJAX ベースのアプリケーションなどの JavaScript 環境に簡単に統合できます。

[!メモ]

ADO.NET Data Services により作成された JSON ペイロードの意図しない使用を回避するために、ペイロードは HTTP 要求の固定 "d" プロパティ内に含まれています。

クライアント エージェントが PUT または POST 要求を発行する場合、要求のペイロードには、サポートされている任意のデータ形式を使用できます。クライアント エージェントは、Content-Type ヘッダーを適切な MIME 型に設定することで、要求のデータ サービス形式を指定する必要があります。詳細については、「HttpWebRequest PUT (ADO.NET Data Services フレームワーク)」および「HttpWebRequest POST (ADO.NET Data Services フレームワーク)」を参照してください。

参照

概念

URI によるデータの単純なアドレス指定スキーム (ADO.NET Data Services フレームワーク)
HttpWebRequest GET (ADO.NET Data Services フレームワーク)
.NET クライアント ライブラリ (ADO.NET Data Services フレームワーク)

その他のリソース

ADO.NET Entity Framework