From 95d415edfc1104d8380ae1d731e017563147bc63 Mon Sep 17 00:00:00 2001 From: Thenewchicken55 Date: Sat, 4 Apr 2026 10:07:23 -0400 Subject: [PATCH] Fix image references --- Odata-docs/client/code-generation-tool.md | 14 +++++++------- Odata-docs/includes/appliesto-odataclient-v6.md | 2 +- .../includes/appliesto-odataclient-v7.12.1.md | 2 +- Odata-docs/includes/appliesto-odataclient-v7.md | 2 +- Odata-docs/includes/appliesto-odataclient-v8.md | 2 +- Odata-docs/includes/appliesto-odatalib-v6.md | 2 +- Odata-docs/includes/appliesto-odatalib-v7.md | 2 +- Odata-docs/includes/appliesto-odatalib-v8.md | 2 +- .../includes/appliesto-webapi-core-v7.5.md | 2 +- Odata-docs/includes/appliesto-webapi-v6.md | 2 +- Odata-docs/includes/appliesto-webapi-v7.5.md | 2 +- Odata-docs/includes/appliesto-webapi-v7.md | 2 +- Odata-docs/includes/appliesto-webapi-v8.md | 2 +- Odata-docs/odatalib/v6/build-basic-model.md | 6 +++--- .../odatalib/v6/create-spatial-instances.md | 2 +- Odata-docs/odatalib/v6/define-annotations.md | 2 +- .../odatalib/v6/define-entity-relations.md | 2 +- Odata-docs/odatalib/v6/define-operations.md | 2 +- Odata-docs/odatalib/v6/define-singleton.md | 2 +- .../odatalib/v6/define-spatial-property.md | 2 +- .../odatalib/v6/define-type-inheritance.md | 2 +- Odata-docs/odatalib/v6/read-write-model.md | 2 +- .../v7/customizable-type-facets-promotion.md | 2 +- Odata-docs/odatalib/v7/edm/build-basic-model.md | 8 ++++---- Odata-docs/odatalib/v7/edm/define-annotations.md | 2 +- .../odatalib/v7/edm/define-entity-relations.md | 2 +- Odata-docs/odatalib/v7/edm/define-operations.md | 2 +- Odata-docs/odatalib/v7/edm/define-singleton.md | 2 +- .../odatalib/v7/edm/define-type-inheritance.md | 2 +- Odata-docs/odatalib/v7/edm/read-write-model.md | 2 +- .../odatalib/v7/edm/using-model-utilities.md | 4 ++-- Odata-docs/odatalib/v7/resource-value.md | 4 ++-- Odata-docs/overview.md | 2 +- Odata-docs/spatial/create-instances.md | 2 +- Odata-docs/spatial/define-property.md | 2 +- Odata-docs/webapi/Scaffolding.md | 16 ++++++++-------- Odata-docs/webapi/basic-auth.md | 8 ++++---- .../webapi/built-in-routing-conventions.md | 12 ++++++------ .../date-timeofday-with-entity-framework.md | 10 +++++----- Odata-docs/webapi/model-builder-abstract.md | 2 +- Odata-docs/webapi/unsupported-type-usage.md | 2 +- .../v6/customizable-type-facets-promotion.md | 2 +- 42 files changed, 74 insertions(+), 74 deletions(-) diff --git a/Odata-docs/client/code-generation-tool.md b/Odata-docs/client/code-generation-tool.md index 2a0f8222..aaa68ebd 100644 --- a/Odata-docs/client/code-generation-tool.md +++ b/Odata-docs/client/code-generation-tool.md @@ -46,7 +46,7 @@ Expand **Online > Visual Studio Gallery > Tools > Connected Service**, and selec Click **Download**. - ![image1](/odata/assets/tooling/odata-connected-service-install-extension.png) + ![image1](/Odata-docs/assets/tooling/odata-connected-service-install-extension.png) Then it will pop up a **VSIX Installer** window, Click **Install**. @@ -70,23 +70,23 @@ In the **Solution Explorer** pane, right click the "TrippinApp" project and sele In the **Add Connected Service** dialog, select **OData** and then click **Configure**. - ![image2](/odata/assets/tooling/odata-connected-service-new.PNG) + ![image2](/Odata-docs/assets/tooling/odata-connected-service-new.PNG) In the **Configure endpoint** dialog, input the service name and the OData service endpoint, then click **Next** button. -![image3](/odata/assets/tooling/odata-connected-service-config-endpoint.PNG) +![image3](/Odata-docs/assets/tooling/odata-connected-service-config-endpoint.PNG) In the **Settings** dialog, enter the file name(without extension) of the proxy file and click **Finish**. -![image4](/odata/assets/tooling/odata-connected-service-config-file-name.PNG) +![image4](/Odata-docs/assets/tooling/odata-connected-service-config-file-name.PNG) In the **Settings** dialog, You also can configure some other settings by click **AdvancedSettings** link. Then you can set the related code generation settings. -![image5](/odata/assets/tooling/odata-connected-service-advanced-settings.PNG) +![image5](/Odata-docs/assets/tooling/odata-connected-service-advanced-settings.PNG) Once you finished all those settings, click **Finish**. This tool will begin to install the related NuGet packages and generate the client proxy file into your project. -![image6](/odata/assets/tooling/odata-connected-service-generate.PNG) +![image6](/Odata-docs/assets/tooling/odata-connected-service-generate.PNG) ### Consume the OData service @@ -111,7 +111,7 @@ Now, the developer can write client code to consume the OData Service. } ``` -![image7](/odata/assets/tooling/odata-connected-service-consume.PNG) +![image7](/Odata-docs/assets/tooling/odata-connected-service-consume.PNG) ## Summary diff --git a/Odata-docs/includes/appliesto-odataclient-v6.md b/Odata-docs/includes/appliesto-odataclient-v6.md index 1a7879b2..aec8ae86 100644 --- a/Odata-docs/includes/appliesto-odataclient-v6.md +++ b/Odata-docs/includes/appliesto-odataclient-v6.md @@ -7,4 +7,4 @@ author: madansr7 # OData client v6 supported - 6![OData Client V^](/odata/assets/doc-assets/yes.png) OData Client V6 + 6![OData Client V^](/Odata-docs/assets/doc-assets/yes.png) OData Client V6 diff --git a/Odata-docs/includes/appliesto-odataclient-v7.12.1.md b/Odata-docs/includes/appliesto-odataclient-v7.12.1.md index a1edc1a3..96f910f7 100644 --- a/Odata-docs/includes/appliesto-odataclient-v7.12.1.md +++ b/Odata-docs/includes/appliesto-odataclient-v7.12.1.md @@ -7,4 +7,4 @@ author: gathogojr # OData client v7.12.1 supported - ![OData Client V7.12.1](/odata/assets/doc-assets/yes.png) OData Client V7.12.1 + ![OData Client V7.12.1](/Odata-docs/assets/doc-assets/yes.png) OData Client V7.12.1 diff --git a/Odata-docs/includes/appliesto-odataclient-v7.md b/Odata-docs/includes/appliesto-odataclient-v7.md index 29c1b525..76fab693 100644 --- a/Odata-docs/includes/appliesto-odataclient-v7.md +++ b/Odata-docs/includes/appliesto-odataclient-v7.md @@ -7,4 +7,4 @@ author: madansr7 # OData client v7 supported - ![OData Client V7](/odata/assets/doc-assets/yes.png) OData Client V7 + ![OData Client V7](/Odata-docs/assets/doc-assets/yes.png) OData Client V7 diff --git a/Odata-docs/includes/appliesto-odataclient-v8.md b/Odata-docs/includes/appliesto-odataclient-v8.md index a6ab23b8..f31f61c7 100644 --- a/Odata-docs/includes/appliesto-odataclient-v8.md +++ b/Odata-docs/includes/appliesto-odataclient-v8.md @@ -7,4 +7,4 @@ author: habbes # OData client v8 supported - ![OData Client V8](/odata/assets/doc-assets/yes.png) OData Client V8 + ![OData Client V8](/Odata-docs/assets/doc-assets/yes.png) OData Client V8 diff --git a/Odata-docs/includes/appliesto-odatalib-v6.md b/Odata-docs/includes/appliesto-odatalib-v6.md index e25807f8..632b13b7 100644 --- a/Odata-docs/includes/appliesto-odatalib-v6.md +++ b/Odata-docs/includes/appliesto-odatalib-v6.md @@ -6,5 +6,5 @@ author: madansr7 --- # OData Core lib v6 supported - ![OData Core lib v6 supported](/odata/assets/doc-assets/yes.png) OData Core Lib V6 + ![OData Core lib v6 supported](/Odata-docs/assets/doc-assets/yes.png) OData Core Lib V6 diff --git a/Odata-docs/includes/appliesto-odatalib-v7.md b/Odata-docs/includes/appliesto-odatalib-v7.md index b489d772..605cc541 100644 --- a/Odata-docs/includes/appliesto-odatalib-v7.md +++ b/Odata-docs/includes/appliesto-odatalib-v7.md @@ -6,5 +6,5 @@ author: madansr7 --- # OData core lib v7 supported - ![OData core lib v7 supported](/odata/assets/doc-assets/yes.png) OData Core Lib V7 + ![OData core lib v7 supported](/Odata-docs/assets/doc-assets/yes.png) OData Core Lib V7 diff --git a/Odata-docs/includes/appliesto-odatalib-v8.md b/Odata-docs/includes/appliesto-odatalib-v8.md index 65a4e7b5..f372f2e5 100644 --- a/Odata-docs/includes/appliesto-odatalib-v8.md +++ b/Odata-docs/includes/appliesto-odatalib-v8.md @@ -6,4 +6,4 @@ author: habbes --- # OData core lib v8 supported - ![OData core lib v8 supported](/odata/assets/doc-assets/yes.png) OData Core Lib V8 \ No newline at end of file + ![OData core lib v8 supported](/Odata-docs/assets/doc-assets/yes.png) OData Core Lib V8 \ No newline at end of file diff --git a/Odata-docs/includes/appliesto-webapi-core-v7.5.md b/Odata-docs/includes/appliesto-webapi-core-v7.5.md index 9d8f1191..b0b01c31 100644 --- a/Odata-docs/includes/appliesto-webapi-core-v7.5.md +++ b/Odata-docs/includes/appliesto-webapi-core-v7.5.md @@ -6,5 +6,5 @@ author: madansr7 --- # OData WebApi v7.5 for .NET Core - ![OData WebApi v7.5 for dot NET Core](/odata/assets/doc-assets/yes.png) OData AspNetCore WebApi V7.5 + ![OData WebApi v7.5 for dot NET Core](/Odata-docs/assets/doc-assets/yes.png) OData AspNetCore WebApi V7.5 diff --git a/Odata-docs/includes/appliesto-webapi-v6.md b/Odata-docs/includes/appliesto-webapi-v6.md index 21f9eb29..0951646c 100644 --- a/Odata-docs/includes/appliesto-webapi-v6.md +++ b/Odata-docs/includes/appliesto-webapi-v6.md @@ -6,4 +6,4 @@ author: madansr7 ms.author: saumadan --- # OData Webapi for Webapi supported - ![Green circular checkmark icon to indicate a success.](/odata/assets/doc-assets/yes.png) OData AspNet WebApi V6 \ No newline at end of file + ![Green circular checkmark icon to indicate a success.](/Odata-docs/assets/doc-assets/yes.png) OData AspNet WebApi V6 \ No newline at end of file diff --git a/Odata-docs/includes/appliesto-webapi-v7.5.md b/Odata-docs/includes/appliesto-webapi-v7.5.md index 723a07a5..9522ff02 100644 --- a/Odata-docs/includes/appliesto-webapi-v7.5.md +++ b/Odata-docs/includes/appliesto-webapi-v7.5.md @@ -6,4 +6,4 @@ author: gathogojr ms.author: jogathog --- # OData WebApi v7.5 for .NET FX - ![Green circle with a checkmark inside of it.](/odata/assets/doc-assets/yes.png) OData AspNet WebApi V7.5 \ No newline at end of file + ![Green circle with a checkmark inside of it.](/Odata-docs/assets/doc-assets/yes.png) OData AspNet WebApi V7.5 \ No newline at end of file diff --git a/Odata-docs/includes/appliesto-webapi-v7.md b/Odata-docs/includes/appliesto-webapi-v7.md index 5e426e86..67bf2a25 100644 --- a/Odata-docs/includes/appliesto-webapi-v7.md +++ b/Odata-docs/includes/appliesto-webapi-v7.md @@ -6,4 +6,4 @@ author: madansr7 ms.author: saumadan --- # OData WebApi v7 for aspnet webapi supported - ![Green circle with a checkmark inside it.](/odata/assets/doc-assets/yes.png) OData AspNet WebApi V7 \ No newline at end of file + ![Green circle with a checkmark inside it.](/Odata-docs/assets/doc-assets/yes.png) OData AspNet WebApi V7 \ No newline at end of file diff --git a/Odata-docs/includes/appliesto-webapi-v8.md b/Odata-docs/includes/appliesto-webapi-v8.md index 8bf59279..be0d38e1 100644 --- a/Odata-docs/includes/appliesto-webapi-v8.md +++ b/Odata-docs/includes/appliesto-webapi-v8.md @@ -7,4 +7,4 @@ ms.author: clhabins --- # OData Web API 8 supported - ![Green circle with a checkmark inside it.](/odata/assets/doc-assets/yes.png) OData Web API v8 + ![Green circle with a checkmark inside it.](/Odata-docs/assets/doc-assets/yes.png) OData Web API v8 diff --git a/Odata-docs/odatalib/v6/build-basic-model.md b/Odata-docs/odatalib/v6/build-basic-model.md index 3597cf3c..6fdb19fc 100644 --- a/Odata-docs/odatalib/v6/build-basic-model.md +++ b/Odata-docs/odatalib/v6/build-basic-model.md @@ -44,7 +44,7 @@ The `SampleModelBuilder` class is used to build and return an entity data model In Solution Explorer, right-click the project **EdmLibSample**. From the context menu, select **Add > Class**. Name the class **SampleModelBuilder**. -![Screenshot of right-click menu has the Add option highlighted, which shows another menu showing the Class option being highlighted.](/odata/assets/2015-04-16-add-class.png) +![Screenshot of right-click menu has the Add option highlighted, which shows another menu showing the Class option being highlighted.](/Odata-docs/assets/2015-04-16-add-class.png) In the **SampleModelBuilder.cs** file, add the following `using` clauses to introduce the EDM definitions: @@ -279,11 +279,11 @@ For now, there is no need to understand how the model is being written as CSDL. From the **DEBUG** menu, click **Start Debugging** to build and run the sample. The console window should appear and then disappear in a flash. -![Screenshot of Microsoft Visual Studio, showing the Debug tab's Start Debugging option being highlighted.](/odata/assets/2015-04-17-debug.png) +![Screenshot of Microsoft Visual Studio, showing the Debug tab's Start Debugging option being highlighted.](/Odata-docs/assets/2015-04-17-debug.png) Open the **csdl.xml** file under the **output directory** with Internet Explorer (or other XML viewer if you like). The content should look similar to the following: -![Screenshot of the output directory, showing the contents of the e d m x tag.](/odata/assets/2015-04-17-csdl.png) +![Screenshot of the output directory, showing the contents of the e d m x tag.](/Odata-docs/assets/2015-04-17-csdl.png) As you can see, the document contains all the elements we have built so far. diff --git a/Odata-docs/odatalib/v6/create-spatial-instances.md b/Odata-docs/odatalib/v6/create-spatial-instances.md index 52d46663..b4708aa0 100644 --- a/Odata-docs/odatalib/v6/create-spatial-instances.md +++ b/Odata-docs/odatalib/v6/create-spatial-instances.md @@ -42,7 +42,7 @@ GeographyPoint point6 = GeographyPoint.Create(latitude: 12.34, longitude: 56.78, Spatial instances can be directly put into `ODataPrimitiveValue` as property values. Using the `Address` type from the last section: -![image](/odata/assets/2015-04-21-csdl.png) +![image](/Odata-docs/assets/2015-04-21-csdl.png) An `ODataComplexValue` for the `Address` type could be constructed as follows: diff --git a/Odata-docs/odatalib/v6/define-annotations.md b/Odata-docs/odatalib/v6/define-annotations.md index 0ded71a6..855b8655 100644 --- a/Odata-docs/odatalib/v6/define-annotations.md +++ b/Odata-docs/odatalib/v6/define-annotations.md @@ -127,4 +127,4 @@ This code adds an **inline** `Edm.Int32` annotation `Sample.NS.Width` targetting ### Run the Sample Build and run the sample. Then open the **csdl.xml** file under the **output directory**. The content of **csdl.xml** should look like the following: -![image](/odata/assets/2015-04-20-csdl1.png) \ No newline at end of file +![image](/Odata-docs/assets/2015-04-20-csdl1.png) \ No newline at end of file diff --git a/Odata-docs/odatalib/v6/define-entity-relations.md b/Odata-docs/odatalib/v6/define-entity-relations.md index 0d343472..7ca8040d 100644 --- a/Odata-docs/odatalib/v6/define-entity-relations.md +++ b/Odata-docs/odatalib/v6/define-entity-relations.md @@ -184,7 +184,7 @@ This code: ### Run the Sample Build and run the sample. Then open the **csdl.xml** file under the **output directory**. The content of **csdl.xml** should look like the following: -![image](/odata/assets/2015-04-18-csdl.png) +![image](/Odata-docs/assets/2015-04-18-csdl.png) ### References [[Tutorial & Sample] Containment is Coming with OData V4](https://devblogs.microsoft.com/odata/tutorial-sample-containment-is-coming-with-odata-v4/). \ No newline at end of file diff --git a/Odata-docs/odatalib/v6/define-operations.md b/Odata-docs/odatalib/v6/define-operations.md index 65723235..1be108af 100644 --- a/Odata-docs/odatalib/v6/define-operations.md +++ b/Odata-docs/odatalib/v6/define-operations.md @@ -187,4 +187,4 @@ The `Sample.NS.MostValuable` function import is actually the `Sample.NS.MostExpe Build and run the sample. Then open the **csdl.xml** file under the **output directory**. The content of **csdl.xml** should look like the following: -![image](/odata/assets/2015-04-20-csdl.png) +![image](/Odata-docs/assets/2015-04-20-csdl.png) diff --git a/Odata-docs/odatalib/v6/define-singleton.md b/Odata-docs/odatalib/v6/define-singleton.md index e53d7ed2..84702d2c 100644 --- a/Odata-docs/odatalib/v6/define-singleton.md +++ b/Odata-docs/odatalib/v6/define-singleton.md @@ -63,7 +63,7 @@ namespace EdmLibSample ### Run the Sample Build and run the sample. Then open the **csdl.xml** file under the **output directory**. The content of **csdl.xml** should look like the following: -![image](/odata/assets/2015-04-18-csdl1.png) +![image](/Odata-docs/assets/2015-04-18-csdl1.png) ### References [[Tutorial & Sample] Use Singleton to define your special entity](https://devblogs.microsoft.com/odata/tutorial-sample-use-singleton-to-define-your-special-entity/). \ No newline at end of file diff --git a/Odata-docs/odatalib/v6/define-spatial-property.md b/Odata-docs/odatalib/v6/define-spatial-property.md index 31d8534c..7c336b67 100644 --- a/Odata-docs/odatalib/v6/define-spatial-property.md +++ b/Odata-docs/odatalib/v6/define-spatial-property.md @@ -53,4 +53,4 @@ This code: Build and run the sample. Then open the **csdl.xml** file under the **output directory**. The content of **csdl.xml** should look like the following: -![image](/odata/assets/2015-04-21-csdl.png) \ No newline at end of file +![image](/Odata-docs/assets/2015-04-21-csdl.png) \ No newline at end of file diff --git a/Odata-docs/odatalib/v6/define-type-inheritance.md b/Odata-docs/odatalib/v6/define-type-inheritance.md index 2d355d20..d49d58e7 100644 --- a/Odata-docs/odatalib/v6/define-type-inheritance.md +++ b/Odata-docs/odatalib/v6/define-type-inheritance.md @@ -124,4 +124,4 @@ This code: Build and run the sample. Then open the **csdl.xml** file under the **output directory**. The content of **csdl.xml** should look like the following: -![image](/odata/assets/2015-04-19-csdl.png) \ No newline at end of file +![image](/Odata-docs/assets/2015-04-19-csdl.png) \ No newline at end of file diff --git a/Odata-docs/odatalib/v6/read-write-model.md b/Odata-docs/odatalib/v6/read-write-model.md index 68b69978..af165bff 100644 --- a/Odata-docs/odatalib/v6/read-write-model.md +++ b/Odata-docs/odatalib/v6/read-write-model.md @@ -134,7 +134,7 @@ This code first reads the model from the CSDL document **csdl.xml** and then wri ### Run the Sample Build and run the sample. Then open both the **csdl.xml** file and the **csdl1.xml** file under the **output directory**. The content of **csdl1.xml** should look like the following: -![image](/odata/assets/2015-04-17-csdl1.png) +![image](/Odata-docs/assets/2015-04-17-csdl1.png) You can see that the contents of **csdl.xml** and **csdl1.xml** are exactly the same except for **the order of the elements**. This is because EdmLib will reorder the elements when parsing a CSDL document. diff --git a/Odata-docs/odatalib/v7/customizable-type-facets-promotion.md b/Odata-docs/odatalib/v7/customizable-type-facets-promotion.md index 1ea29aec..9596efa0 100644 --- a/Odata-docs/odatalib/v7/customizable-type-facets-promotion.md +++ b/Odata-docs/odatalib/v7/customizable-type-facets-promotion.md @@ -34,4 +34,4 @@ You plugin a specific set of conversion rules by setting the `ODataUriResolver.T Let's see a simple example. Consider the expression `Decimal_6_3 mul Decimal_5_4` where `Decimal_6_3` and `Decimal_5_4` are both structural properties of `Edm.Decimal` type. The former has precision 6 and scale 3, while the latter has 5 and 4. Using the default conversion rules, the result would be: -![facets](/odata/assets/2016-08-23-facets.png) +![facets](/Odata-docs/assets/2016-08-23-facets.png) diff --git a/Odata-docs/odatalib/v7/edm/build-basic-model.md b/Odata-docs/odatalib/v7/edm/build-basic-model.md index 56fdf7d8..3a93a6dd 100644 --- a/Odata-docs/odatalib/v7/edm/build-basic-model.md +++ b/Odata-docs/odatalib/v7/edm/build-basic-model.md @@ -26,7 +26,7 @@ In Visual Studio, from the **File** menu, select **New > Project**. Expand **Installed > Templates > Visual C# > Windows Desktop**, and select the **Console Application** template. Name the project **EdmLibSample**, and click **OK**. -![new project](/odata/assets/2015-04-16-new-project.png) +![new project](/Odata-docs/assets/2015-04-16-new-project.png) ## Install the EdmLib package @@ -44,7 +44,7 @@ The `SampleModelBuilder` class is used to build and return an entity data model In Solution Explorer, right-click the project **EdmLibSample**. From the context menu, select **Add > Class**. Name the class **SampleModelBuilder**. -![add class](/odata/assets/2015-04-16-add-class.png) +![add class](/Odata-docs/assets/2015-04-16-add-class.png) In the **SampleModelBuilder.cs** file, add the following `using` directives to introduce the EDM definitions: @@ -318,11 +318,11 @@ For now, there is no need to understand how the model is written to CSDL. The de From the **DEBUG** menu, click **Start Debugging** to build and run the sample. The console window should appear and then disappear in a flash. -![debugging](/odata/assets/2015-04-17-debug.png) +![debugging](/Odata-docs/assets/2015-04-17-debug.png) Open the **csdl.xml** file under the **output directory** with Internet Explorer (or any other XML viewer you prefer). The content should look similar to the following: -![csdl](/odata/assets/2015-04-17-csdl.png) +![csdl](/Odata-docs/assets/2015-04-17-csdl.png) As you can see, the document contains all the elements we have built so far. diff --git a/Odata-docs/odatalib/v7/edm/define-annotations.md b/Odata-docs/odatalib/v7/edm/define-annotations.md index a8498aa1..4d558835 100644 --- a/Odata-docs/odatalib/v7/edm/define-annotations.md +++ b/Odata-docs/odatalib/v7/edm/define-annotations.md @@ -126,4 +126,4 @@ This code adds an **inline** `Edm.Int32` annotation `Sample.NS.Width` to the pro ### Run the sample Build and run the sample. Then open the file **csdl.xml** under the **output directory**. The content should look like the following: -![csdl1](/odata/assets/2015-04-20-csdl1.png) +![csdl1](/Odata-docs/assets/2015-04-20-csdl1.png) diff --git a/Odata-docs/odatalib/v7/edm/define-entity-relations.md b/Odata-docs/odatalib/v7/edm/define-entity-relations.md index 498bda21..09d8927b 100644 --- a/Odata-docs/odatalib/v7/edm/define-entity-relations.md +++ b/Odata-docs/odatalib/v7/edm/define-entity-relations.md @@ -185,7 +185,7 @@ This code: ### Run the sample Build and run the sample. Then open the file **csdl.xml** under the **output directory**. The content of it should look like the following: -![csdl](/odata/assets/2015-04-18-csdl.png) +![csdl](/Odata-docs/assets/2015-04-18-csdl.png) ### References [[Tutorial & Sample] Containment is Coming with OData V4](https://devblogs.microsoft.com/odata/tutorial-sample-containment-is-coming-with-odata-v4/). diff --git a/Odata-docs/odatalib/v7/edm/define-operations.md b/Odata-docs/odatalib/v7/edm/define-operations.md index c186ff2a..eb3c97fd 100644 --- a/Odata-docs/odatalib/v7/edm/define-operations.md +++ b/Odata-docs/odatalib/v7/edm/define-operations.md @@ -176,5 +176,5 @@ The `Sample.NS.MostValuable` function import is actually the `Sample.NS.MostExpe ### Run the sample Build and run the sample. Then open the file **csdl.xml** under the **output directory**. The content should look like the following: -![csdl](/odata/assets/2015-04-20-csdl.png) +![csdl](/Odata-docs/assets/2015-04-20-csdl.png) diff --git a/Odata-docs/odatalib/v7/edm/define-singleton.md b/Odata-docs/odatalib/v7/edm/define-singleton.md index 22501e00..0c1cc466 100644 --- a/Odata-docs/odatalib/v7/edm/define-singleton.md +++ b/Odata-docs/odatalib/v7/edm/define-singleton.md @@ -63,7 +63,7 @@ namespace EdmLibSample ### Run the Sample Build and run the sample. Then open the file **csdl.xml** under the **output directory**. The content should look like the following: -![csdl](/odata/assets/2015-04-18-csdl1.png) +![csdl](/Odata-docs/assets/2015-04-18-csdl1.png) ### References [[Tutorial & Sample] Use Singleton to define your special entity](https://devblogs.microsoft.com/odata/tutorial-sample-use-singleton-to-define-your-special-entity/). diff --git a/Odata-docs/odatalib/v7/edm/define-type-inheritance.md b/Odata-docs/odatalib/v7/edm/define-type-inheritance.md index 80069eaa..b1cb840c 100644 --- a/Odata-docs/odatalib/v7/edm/define-type-inheritance.md +++ b/Odata-docs/odatalib/v7/edm/define-type-inheritance.md @@ -124,4 +124,4 @@ This code: Build and run the sample. Then open the file **csdl.xml** under the **output directory**. The content should look like the following: -![csdl](/odata/assets/2015-04-19-csdl.png) +![csdl](/Odata-docs/assets/2015-04-19-csdl.png) diff --git a/Odata-docs/odatalib/v7/edm/read-write-model.md b/Odata-docs/odatalib/v7/edm/read-write-model.md index 47ffd4d0..29ca43a8 100644 --- a/Odata-docs/odatalib/v7/edm/read-write-model.md +++ b/Odata-docs/odatalib/v7/edm/read-write-model.md @@ -110,7 +110,7 @@ This code first reads the model from the CSDL document **csdl.xml**, and then wr ### Run the sample Build and run the sample. Then open the file **csdl.xml** and the file **csdl1.xml** under the **output directory**. The content of **csdl1.xml** should look like the following: -![csdl](/odata/assets/2015-04-17-csdl1.png) +![csdl](/Odata-docs/assets/2015-04-17-csdl1.png) You can see that the contents of **csdl.xml** and **csdl1.xml** are exactly the same except for **the order of the elements**. This is because EdmLib will reorder the elements when parsing a CSDL document. diff --git a/Odata-docs/odatalib/v7/edm/using-model-utilities.md b/Odata-docs/odatalib/v7/edm/using-model-utilities.md index 7703e601..7b4a9a96 100644 --- a/Odata-docs/odatalib/v7/edm/using-model-utilities.md +++ b/Odata-docs/odatalib/v7/edm/using-model-utilities.md @@ -79,8 +79,8 @@ namespace EdmLibSample ### Run the sample From the **DEBUG** menu, click **Start Without Debugging** to build and run the sample. The console window should **not** disappear after program exits. -![debug](/odata/assets/2015-04-20-debug.png) +![debug](/Odata-docs/assets/2015-04-20-debug.png) The output on the console window should look like the following: -![output](/odata/assets/2015-04-20-output.png) +![output](/Odata-docs/assets/2015-04-20-output.png) diff --git a/Odata-docs/odatalib/v7/resource-value.md b/Odata-docs/odatalib/v7/resource-value.md index 59317584..6da9c96f 100644 --- a/Odata-docs/odatalib/v7/resource-value.md +++ b/Odata-docs/odatalib/v7/resource-value.md @@ -39,11 +39,11 @@ Because most of OData customers: Below is the main inheritance of the ODataValue vs ODataItem in ODL v6.x. -![ODLv6xInheritance](/odata/assets/2018-11-20-ODLv6xInheritance.png) +![ODLv6xInheritance](/Odata-docs/assets/2018-11-20-ODLv6xInheritance.png) Below is the main inheritance of the ODataValue vs ODataItem in ODL v7.x. -![ODLv7xInheritance](/odata/assets/2018-11-20-ODLv7xInheritance1Class.png) +![ODLv7xInheritance](/Odata-docs/assets/2018-11-20-ODLv7xInheritance1Class.png) The main changes from 6.x to 7.x is: diff --git a/Odata-docs/overview.md b/Odata-docs/overview.md index 784338c9..2c3e83b6 100644 --- a/Odata-docs/overview.md +++ b/Odata-docs/overview.md @@ -29,6 +29,6 @@ OData improves semantic interoperability between systems and follows these desig The OData Protocol is different from other REST-based web service approaches in that it provides a uniform way to describe both the data and the data model. This improves semantic interoperability between systems and allows an ecosystem to emerge. It follows these design principles: The following image shows how different libraries can be used for server and client side implementations. -![libraries](/odata/assets/library-relationship.png) +![libraries](/Odata-docs/assets/library-relationship.png) You can find more information on OData specification at [OData.org](https://www.odata.org/). diff --git a/Odata-docs/spatial/create-instances.md b/Odata-docs/spatial/create-instances.md index 44a09210..0c61a067 100644 --- a/Odata-docs/spatial/create-instances.md +++ b/Odata-docs/spatial/create-instances.md @@ -39,7 +39,7 @@ GeographyPoint point6 = GeographyPoint.Create(latitude: 12.34, longitude: 56.78, Spatial instances can be directly put into `ODataPrimitiveValue` as property values. Using the `Address` type from the last section: -![csdl](/odata/assets/2015-04-21-csdl.png) +![csdl](/Odata-docs/assets/2015-04-21-csdl.png) An `ODataResource` for the `Address` type could be constructed as follows: diff --git a/Odata-docs/spatial/define-property.md b/Odata-docs/spatial/define-property.md index 51575b8e..68070358 100644 --- a/Odata-docs/spatial/define-property.md +++ b/Odata-docs/spatial/define-property.md @@ -47,4 +47,4 @@ This code: ### Run the sample Build and run the sample. Then open the **csdl.xml** file under the **output directory**. The content of **csdl.xml** should look like the following: -![csdl](/odata/assets/2015-04-21-csdl.png) \ No newline at end of file +![csdl](/Odata-docs/assets/2015-04-21-csdl.png) \ No newline at end of file diff --git a/Odata-docs/webapi/Scaffolding.md b/Odata-docs/webapi/Scaffolding.md index aa5c1f25..01eb1c41 100644 --- a/Odata-docs/webapi/Scaffolding.md +++ b/Odata-docs/webapi/Scaffolding.md @@ -21,39 +21,39 @@ The scaffolding is used to generate controller code for model class. Two kinds o Before using scaffolding, you need to create a web api project and add model classes, the following is a sample: -![ProjAndClass](/odata/assets/11-01-ProjAndClass.PNG) +![ProjAndClass](/Odata-docs/assets/11-01-ProjAndClass.PNG) Then, you can right click "Controller" folder in solution explorer, select "Add" -> "Controller". "Microsoft OData v4 Web API Controller" will be in the scaffolder list, as following: -![SelectController](/odata/assets/11-01-SelectController.PNG) +![SelectController](/Odata-docs/assets/11-01-SelectController.PNG) Select scaffold item, then choose a model class you want to generate the controller. You can also select the "Using Async" if your data need to be got in Async call. -![SelectModelClass](/odata/assets/11-01-SelectModelClass.PNG) +![SelectModelClass](/Odata-docs/assets/11-01-SelectModelClass.PNG) After click "Add", the controller will be generated and added into your project. Meanwhile, all reference needed, including OData Lib and OData Web API, will be added into the project, too. -![Complete](/odata/assets/11-01-Complete.PNG) +![Complete](/Odata-docs/assets/11-01-Complete.PNG) #### Scaffolder for model using entity framework: If want to use entity framework as provider in service, no matter whether derived class of DbContext contained in project, when right click "Controller" folder in solution explorer, select "Add" -> "Controller" -> "Microsoft OData v4 Web API Controller Using Entity Framework" as scaffolder: -![SelectScaffolderWithContext](/odata/assets/11-01-SelectScaffolderWithContext.PNG) +![SelectScaffolderWithContext](/Odata-docs/assets/11-01-SelectScaffolderWithContext.PNG) Then you will see as following: -![SelectModelWithoutContext](/odata/assets/11-01-SelectModelWithoutContext.PNG) +![SelectModelWithoutContext](/Odata-docs/assets/11-01-SelectModelWithoutContext.PNG) Please select the existing Model (need build before scaffolding). You can select the existing data context class or add a new one: -![AddNewDataContext](/odata/assets/11-01-AddNewDataContext.PNG) +![AddNewDataContext](/Odata-docs/assets/11-01-AddNewDataContext.PNG) After click "Add", the controller will be generated and added into your project, new data context class will be added if needed. Meanwhile, all reference needed, including OData Lib and OData Web API, will be added into the project, too. ### Change WebApiConfig.cs File After generating the controller code, you may need to add some code in WebApiConfig.cs to generate model. Actually the code needed are in the comment of generated controller: -![ChangeWebApiConfig](/odata/assets/11-01-ChangeWebApiConfig.PNG) +![ChangeWebApiConfig](/Odata-docs/assets/11-01-ChangeWebApiConfig.PNG) Just need to copy/paste the code to WebApiConfig.cs. diff --git a/Odata-docs/webapi/basic-auth.md b/Odata-docs/webapi/basic-auth.md index 8be4caf6..6425fbb3 100644 --- a/Odata-docs/webapi/basic-auth.md +++ b/Odata-docs/webapi/basic-auth.md @@ -81,7 +81,7 @@ public class ProductsController : ODataController #### 3. Enable HTTPS In the project properties window, enable the SSL and remember the SSL URL: -![sslconfig](/odata/assets/05-01-ssl-config.png) +![sslconfig](/Odata-docs/assets/05-01-ssl-config.png) #### 4. Create a custom `AuthorizationFilterAttribute` for HTTPS Add a class to your project as follows: @@ -129,15 +129,15 @@ In the above steps, we’ve secured the OData API by allowing only HTTPS connect First of all, we send a `GET` request to `https://localhost:53277/Products`, and the service responds with an empty payload and the status code `403 HTTPS Required`. -![demo1](/odata/assets/05-01-demo-1.png) +![demo1](/Odata-docs/assets/05-01-demo-1.png) Then we send the request over HTTPS to `https://localhost:43300/Products`. Since the basic authentication info needs to be provided. The service responds with an empty payload and the status code `401 Unauthorized`. -![demo2](/odata/assets/05-01-demo-2.png) +![demo2](/Odata-docs/assets/05-01-demo-2.png) Finally, we set the value of the `Authorization` header to “Basic UGFycnk6MTIzNDU2” and send it over HTTPS to the same address again. The service now responds with the correct data. -![demo3](/odata/assets/05-01-demo-3.png) +![demo3](/Odata-docs/assets/05-01-demo-3.png) ### Summary diff --git a/Odata-docs/webapi/built-in-routing-conventions.md b/Odata-docs/webapi/built-in-routing-conventions.md index fa98c49c..b51fc740 100644 --- a/Odata-docs/webapi/built-in-routing-conventions.md +++ b/Odata-docs/webapi/built-in-routing-conventions.md @@ -45,19 +45,19 @@ So, the controller convention is: **[entityset name] + "Controller"**, derived **Querying Entities** -![queryEntitiesConvention](/odata/assets/03-02-queryEntitiesConvention.png) +![queryEntitiesConvention](/Odata-docs/assets/03-02-queryEntitiesConvention.png) **Creating, Updating, and Deleting Entities** -![updateDeleteEntitiesConvention](/odata/assets/03-02-updateDeleteEntitiesConvention.png) +![updateDeleteEntitiesConvention](/Odata-docs/assets/03-02-updateDeleteEntitiesConvention.png) **Operation on Navigation Property** -![navigationRoutingConvention](/odata/assets/03-02-navigationRoutingConvention.png) +![navigationRoutingConvention](/Odata-docs/assets/03-02-navigationRoutingConvention.png) **Querying, Creating and Deleting Links** -![navigationlinkeConvention](/odata/assets/03-02-navigationlinkeConvention.png) +![navigationlinkeConvention](/Odata-docs/assets/03-02-navigationlinkeConvention.png) **Properties** @@ -70,13 +70,13 @@ GET /entityset(key)/cast/property | /Products(1)/Models.Book/Author | GetPropert **Action** only supports the **POST** request method, and the parameters are sent using the request body. In controller, each action is using an `ODataActionParameters` to accept the parameters' value: -![actionConvention](/odata/assets/03-02-actionConvention.png) +![actionConvention](/Odata-docs/assets/03-02-actionConvention.png) **Functions** **Functions** only supports the **GET** request method. -![functionConvention](/odata/assets/03-02-functionConvention.png) +![functionConvention](/Odata-docs/assets/03-02-functionConvention.png) **Method Signatures** diff --git a/Odata-docs/webapi/date-timeofday-with-entity-framework.md b/Odata-docs/webapi/date-timeofday-with-entity-framework.md index 10f77733..6a29e017 100644 --- a/Odata-docs/webapi/date-timeofday-with-entity-framework.md +++ b/Odata-docs/webapi/date-timeofday-with-entity-framework.md @@ -19,7 +19,7 @@ So, this doc describes the solution about how to support __Edm.Date__ type with It should support to map the type between __date__ type in Database and __Edm.Date__ type through the CLR `System.DateTime` type. The map is shown in the following figure: -![DateTypeMapping](/odata/assets/12-01-DateTypeMapping.png) +![DateTypeMapping](/Odata-docs/assets/12-01-DateTypeMapping.png) So, it should provide the below functionalities for the developer: @@ -38,7 +38,7 @@ Most important, EF doesn’t support the primitive collection. So, Collection of Below is the date & time type mapping between DB and .NET: -![mapping3](/odata/assets/12-01-mapping3.png) +![mapping3](/Odata-docs/assets/12-01-mapping3.png) So, From .NET view, only `System.DateTime` is used to represent the _date_ value, meanwhile only `System.TimeSpan` is used to represent the __time__ value. @@ -106,11 +106,11 @@ Where, __Edm.TimeOfDay__ is the corresponding primitive type Kind. __By default__, Web API has the following mapping between CLR types and Edm types: -![mapping1](/odata/assets/12-01-mapping1.png) +![mapping1](/Odata-docs/assets/12-01-mapping1.png) We should provide a methodology to map `System.DateTime` to __Edm.Date__ type, and `System.TimeSpan` to __Edm.TimeOfDay__ type as follows: -![mapping2](/odata/assets/12-01-mapping2.png) +![mapping2](/Odata-docs/assets/12-01-mapping2.png) #### Extension methods @@ -157,7 +157,7 @@ In this class, it will identify the __Column__ attribute applied to `System.Date After insert the instance of ColumnAttributeEdmPropertyConvention into the conventions in the convention model builder: -![conventions](/odata/assets/12-01-conventions.png) +![conventions](/Odata-docs/assets/12-01-conventions.png) For example, the developer can do as follows to build the Edm model: ```C# diff --git a/Odata-docs/webapi/model-builder-abstract.md b/Odata-docs/webapi/model-builder-abstract.md index c67fa9d0..b889175c 100644 --- a/Odata-docs/webapi/model-builder-abstract.md +++ b/Odata-docs/webapi/model-builder-abstract.md @@ -127,4 +127,4 @@ public enum Color Here's the class inheritance: -![orders](/odata/assets/02-01-customer-order.png) +![orders](/Odata-docs/assets/02-01-customer-order.png) diff --git a/Odata-docs/webapi/unsupported-type-usage.md b/Odata-docs/webapi/unsupported-type-usage.md index 8b47e0dd..7f643b3c 100644 --- a/Odata-docs/webapi/unsupported-type-usage.md +++ b/Odata-docs/webapi/unsupported-type-usage.md @@ -14,4 +14,4 @@ Web API OData adds supporting for some unsupported types in ODataLib, for exampl The mapping list for the unsupported types are: -![typemapping](/odata/assets/06-05-typemapping.png) +![typemapping](/Odata-docs/assets/06-05-typemapping.png) diff --git a/Odata-docs/webapi/v6/customizable-type-facets-promotion.md b/Odata-docs/webapi/v6/customizable-type-facets-promotion.md index 1768023c..9e39e78f 100644 --- a/Odata-docs/webapi/v6/customizable-type-facets-promotion.md +++ b/Odata-docs/webapi/v6/customizable-type-facets-promotion.md @@ -34,4 +34,4 @@ You plugin a specific set of conversion rules by setting the `ODataUriResolver.T Let's see a simple example. Consider the expression `Decimal_6_3 mul Decimal_5_4` where `Decimal_6_3` and `Decimal_5_4` are both structural properties of `Edm.Decimal` type. The former has precision 6 and scale 3, while the latter has 5 and 4. Using the default conversion rules, the result would be: -![image](/odata/assets/2016-08-23-facets.png) +![image](/Odata-docs/assets/2016-08-23-facets.png)