{"version":"1.0","provider_name":"OData","provider_url":"https:\/\/devblogs.microsoft.com\/odata","author_name":"DB Blogs","author_url":"https:\/\/devblogs.microsoft.com\/odata\/author\/dpblogs\/","title":"IUpdatable &amp; ADO.NET Data Services Framework - OData","type":"rich","width":600,"height":338,"html":"<blockquote class=\"wp-embedded-content\" data-secret=\"VdK2czbv8v\"><a href=\"https:\/\/devblogs.microsoft.com\/odata\/iupdatable-amp-ado-net-data-services-framework\/\">IUpdatable &amp; ADO.NET Data Services Framework<\/a><\/blockquote><iframe sandbox=\"allow-scripts\" security=\"restricted\" src=\"https:\/\/devblogs.microsoft.com\/odata\/iupdatable-amp-ado-net-data-services-framework\/embed\/#?secret=VdK2czbv8v\" width=\"600\" height=\"338\" title=\"&#8220;IUpdatable &amp; ADO.NET Data Services Framework&#8221; &#8212; OData\" data-secret=\"VdK2czbv8v\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" class=\"wp-embedded-content\"><\/iframe><script type=\"text\/javascript\">\n\/* <![CDATA[ *\/\n\/*! This file is auto-generated *\/\n!function(d,l){\"use strict\";l.querySelector&&d.addEventListener&&\"undefined\"!=typeof URL&&(d.wp=d.wp||{},d.wp.receiveEmbedMessage||(d.wp.receiveEmbedMessage=function(e){var t=e.data;if((t||t.secret||t.message||t.value)&&!\/[^a-zA-Z0-9]\/.test(t.secret)){for(var s,r,n,a=l.querySelectorAll('iframe[data-secret=\"'+t.secret+'\"]'),o=l.querySelectorAll('blockquote[data-secret=\"'+t.secret+'\"]'),c=new RegExp(\"^https?:$\",\"i\"),i=0;i<o.length;i++)o[i].style.display=\"none\";for(i=0;i<a.length;i++)s=a[i],e.source===s.contentWindow&&(s.removeAttribute(\"style\"),\"height\"===t.message?(1e3<(r=parseInt(t.value,10))?r=1e3:~~r<200&&(r=200),s.height=r):\"link\"===t.message&&(r=new URL(s.getAttribute(\"src\")),n=new URL(t.value),c.test(n.protocol))&&n.host===r.host&&l.activeElement===s&&(d.top.location.href=t.value))}},d.addEventListener(\"message\",d.wp.receiveEmbedMessage,!1),l.addEventListener(\"DOMContentLoaded\",function(){for(var e,t,s=l.querySelectorAll(\"iframe.wp-embedded-content\"),r=0;r<s.length;r++)(t=(e=s[r]).getAttribute(\"data-secret\"))||(t=Math.random().toString(36).substring(2,12),e.src+=\"#?secret=\"+t,e.setAttribute(\"data-secret\",t)),e.contentWindow.postMessage({message:\"ready\",secret:t},\"*\")},!1)))}(window,document);\n\/\/# sourceURL=https:\/\/devblogs.microsoft.com\/odata\/wp-includes\/js\/wp-embed.min.js\n\/* ]]> *\/\n<\/script>\n","thumbnail_url":"https:\/\/devblogs.microsoft.com\/odata\/wp-content\/uploads\/sites\/23\/2019\/02\/ODataLogo-150.png","thumbnail_width":151,"thumbnail_height":150,"description":"Astoria service allows reading\/querying of data via the already-established IQueryable interface \u2013 this helps in abstracting Astoria from the underlying data source. But there is no existing interface for the update operations (CUD \u2013 create, update, delete operations). Hence we came up with IUpdatable interface to support CUD operations and support read-write services. One of [&hellip;]"}