Export (0) Print
Expand All

2.2.7.1.1.1 Examples

See Appendix A: Sample Entity Data Model and CSDL Document (section 6) for the sample model and data used in this section.

Example 1: Insert a new Customer and bind it to existing Orders with key values 1 and 2 by using the Atom format.

HTTP Request:

POST /service.svc/Customers HTTP/1.1
Host: host
Content-Type: application/atom+xml
DataServiceVersion: 1.0
Accept: application/atom+xml
Content-Length: nnn

<?xml version="1.0" encoding="utf-8"?>
<entry xml:base="http://host/service.svc/"
     xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices"
     xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"
     xmlns="http://www.w3.org/2005/Atom">
  <id>http://host/service.svc/Customers('ASDFG')</id>
  <title type="text" />
  <updated>2008-12-07T8:00:00Z</updated>
  <author>
    <name />
  </author>
  <link rel="http://schemas.microsoft.com/ado/2007/08
  /dataservices/related/Orders"
        href="Orders(1)" />
  <link rel="http://schemas.microsoft.com/ado/2007/08
  /dataservices/related/Orders"
        href="Orders(2)" />
  <content type="application/xml">
   <m:properties>
    <d:CustomerID>ASDFG</d:CustomerID>
    <d:CompanyName>Contoso Widgets</d:CompanyName>
    <d:Address>
      <d:Street>58 Contoso St</d:Street>
      <d:City>Seattle</d:City>
    </d:Address>
   </m:properties>
  </content>
</entry>

HTTP Response:

HTTP/1.1 201 Created
Date: Fri, 12 Dec 2008 17:17:11 GMT
Location: http://host/service.svc/Customers('ASDFG')
Content-Type: application/atom+xml;type=entry
DataServiceVersion: 3.0
Content-Length: nnn
ETag: W/"X'000000000000FA01'"

<?xml version="1.0" encoding="utf-8"?>
<entry xml:base="http://host/service.svc/"
       xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices"
       xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"
       xmlns="http://www.w3.org/2005/Atom">
  <category term="SampleModel.Customer"
            scheme="http://schemas.microsoft.com/ado/2007/08
            /dataservices/scheme"/>
  <id>http://host/service.svc/Customers('ASDFG')</id>
  <title type="text" />
  <updated>2008-03-30T21:32:23Z</updated>
  <author>
    <name />
  </author>
  <link rel="edit" title="Customers" href="Customers('ASDFG')" />
  <link rel="http://schemas.microsoft.com/ado/2007/08
  /dataservices/related/Orders"
        type="application/atom+xml;type=feed"
        title="Orders"
        href="Customers('ASDFG')/Orders" />
       xmlns:d="http://schemas.microsoft.com/ado/2007/08
/dataservices/relatedlinks  /dataservices/related/Orders"
        type="application/xml"
        title="Orders"
        href="Customers('ASDFG')/$links/Orders" />

  <content type="application/xml">
   <m:properties>
    <d:CustomerID>ASDFG</d:CustomerID>
    <d:CompanyName>Contoso Widgets</d:CompanyName>
    <d:Address>
      <d:Street>58 Contoso St</d:Street>
      <d:City>Seattle</d:City>
    </d:Address>
    <d:Version>AAAAAAAA+gE=</d:Version>
   </m:properties>
  </content>
</entry>

Example 2: Insert a new Customer and bind it to existing Orders with key values 1 and 2 by using the Verbose JSON format.

HTTP Request:

POST /service.svc/Customers HTTP/1.1
Host: host
Content-Type: application/json;odata=verbose
Accept: application/json;odata=verbose
DataServiceVersion: 1.0
Content-Length: nnn

{
   "__metadata": { "uri": "Customers(\'ASDFG\')" },
   "CustomerID": "ASDFG",
   "CompanyName": "Contoso Widgets",
   "Address": { "Street": "58 Contoso St", "City": "Seattle" },
   "Orders": [
      { "__metadata": {"uri": "Order(1)"} },
      { "__metadata": {"uri": "Order(2)"} }
   ]
}

HTTP Response (Version 3.0):

HTTP/1.1 201 Created
Date: Fri, 12 Dec 2008 17:17:11 GMT
Location: http://host/service.svc/Customers('ASDFG')
Content-Type: application/json;odata=verbose
DataServiceVersion: 3.0
Content-Length: nnn
ETag: W/"X'000000000000FA01'"

{   
 "d":
    {
      "__metadata": { "uri": "Customers(\'ASDFG\')",
                      "type": "SampleModel.Customer",
                      "etag": "W/\"X\'000000000000FA01\'\"",
                            "properties" : {
                              "Orders" : {
                                "associationuri" : "Customers(\'ASDFG\')/$links/Orders"
                              }
                            } 

                    },
      "CustomerID": "ASDFG",
      "CompanyName": "Contoso Widgets",
      "Address": { "Street": "58 Contoso St", "City": "Seattle" },
      "Version": "AAAAAAAA+gE=",
      "Orders":  { "__deferred": { "uri": "Customers(\'ASDFG\')/Orders"} }
    }
}

Example 3: Insert a new Customer and two new related orders by using the Atom format.

HTTP Request:

POST /service.svc/Customers HTTP/1.1
Host: host
Content-Type: application/atom+xml
DataServiceVersion: 1.0
Accept: application/atom+xml
Content-Length: nnn

<?xml version="1.0" encoding="utf-8"?>
<entry xml:base="http://host/service.svc/"
       xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices"
       xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"
       xmlns="http://www.w3.org/2005/Atom">
  <id>http://host/service.svc/Customers('ASDFG')</id>
  <title type="text" />
  <updated>2008-03-30T21:52:23Z</updated>
  <author>
    <name />
  </author>
  <link rel="http://schemas.microsoft.com/ado/2007/08
  /dataservices/related/Orders"
        href="Customers('ASDFG')/Orders">
    <m:inline>
      <feed>
        <title type="text">Orders</title>
        <id>http://host/service.svc/Customers('ASDFG')/Orders</id>
        <updated>2008-03-30T21:52:46Z</updated>
        <link rel="self" title="Orders"
        href="Customers('ASDFG')/Orders" />
        <entry>
          <id>http://host/service.svc/Orders(3)</id>
          <title type="text" />
          <updated>2008-03-30T21:52:45Z</updated>
          <author>
            <name />
          </author>
          <content type="application/xml">
           <m:properties>
            <d:OrderID>3</d:OrderID>
            <d:ShippedDate>
               2008-03-30T21:52:45Z</d:ShippedDate>
           </m:properties>
          </content>
        </entry>
        <entry>
          <id>http://host/service.svc/Orders(4)</id>
          <title type="text" />
          <updated>2008-03-30T21:52:45Z</updated>
          <author>
            <name />
          </author>
          <content type="application/xml">
           <m:properties>
            <d:OrderID>4</d:OrderID>
            <d:ShippedDate>2008-03-30T21:52:45Z</d:ShippedDate>
           </m:properties>
          </content>
       </entry>
      </feed>
    </m:inline>
   </link>
  <content type="application/xml">
   <m:properties>
    <d:CustomerID>ASDFG</d:CustomerID>
    <d:CompanyName>Contoso Widgets</d:CompanyName>
    <d:Address>
      <d:Street>58 Contoso St</d:Street>
      <d:City>Seattle</d:City>
    </d:Address>
   </m:properties>
  </content>
</entry>

HTTP Response (Version 3.0):

HTTP/1.1 201 Created
Date: Fri, 12 Dec 2008 17:17:11 GMT
Location: http://host/service.svc/Customers('ASDFG')
Content-Type: application/atom+xml;type=entry
DataServiceVersion: 3.0
Content-Length: nnn
ETag: W/"X'000000000000FA01'"

<?xml version="1.0" encoding="utf-8"?>
<entry xml:base="http://host/service.svc/"
       xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices"
       xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"
       xmlns="http://www.w3.org/2005/Atom">
  <category term="SampleModel.Customer"
            scheme="http://schemas.microsoft.com/ado/2007/08
            /dataservices/scheme"/>
  <id>http://host/service.svc/Customers('ASDFG')</id>
  <title type="text" />
  <updated>2008-03-30T21:32:23Z</updated>
  <author>
    <name />
  </author>
  <link rel="edit" title="Customers" href="Customers('ASDFG')" />
  <link rel="http://schemas.microsoft.com/ado/2007/08
  /dataservices/related/Orders"
        type="application/atom+xml;type=feed"
        title="Orders"
        href="Customers('ASDFG')/Orders" />
  <link rel="http://schemas.microsoft.com/ado/2007/08
  /dataservices/relatedlinks/Orders"
        type="application/xml"
        title="Orders"
        href="Customers('ASDFG')/$links/Orders" />
  <content type="application/xml">
   <m:properties>
    <d:CustomerID>ASDFG</d:CustomerID>
    <d:CompanyName>Contoso Widgets</d:CompanyName>
    <d:Address>
      <d:Street>58 Contoso St</d:Street>
      <d:City>Seattle</d:City>
    </d:Address>
    <d:Version m:type="Edm.Binary">AAAAAAAA+gE=</d:Version>
   </m:properties>
  </content>
</entry>

Example 4: Insert a new Customer and two new related orders by using the Verbose JSON.

HTTP Request:

POST /service.svc/Customers HTTP/1.1
Host: host
Content-Type: application/json;odata=verbose
Accept: application/json;odata=verbose
DataServiceVersion: 1.0
Content-Length: nnn

{
   "CustomerID": "ASDFG",
   "CompanyName": "Contoso Widgets",
   "Address": { "Street": "58 Contoso St", "City": "Seattle" },
   "Orders": [
         {
            "OrderID": 1,
            "ShippedDate": "\/Date(872467200000)\/"
         },
         {
            "OrderID": 2,
            "ShippedDate": "\/Date(875836800000)\/"
         }
   ]
}

HTTP Response (Version 3.0):

HTTP/1.1 201 Created
Date: Fri, 12 Dec 2008 17:17:11 GMT
Location: http://host/service.svc/Customers('ASDFG')
Content-Type: application/json;odata=verbose
DataServiceVersion: 3.0
Content-Length: nnn
ETag: W/"X'000000000000FA01'"

{"d":
 {
   "__metadata": { "uri": "Customers(\'ASDFG\')",
                   "type": "SampleModel.Customer",
                   "etag": "W/\"X\'000000000000FA01\'\"",
                   "properties" : {
                              "Orders" : {
                                "associationuri" : "Customers(\'ASDFG\')/$links/Orders"
                              }
                            } 

                 },
   "CustomerID": "ASDFG",
   "CompanyName": "Contoso Widgets",
   "Address": { "Street": "58 Contoso St", "City": "Seattle" },
   "Version": "AAAAAAAA+gE=",
   "Orders":  { "__deferred": { "uri": "Customers(\'ASDFG\')/Orders"} }
 }
}
 
Show:
© 2014 Microsoft