diff --git a/src/Microsoft.OData.ModelBuilder/Microsoft.OData.ModelBuilder.xml b/src/Microsoft.OData.ModelBuilder/Microsoft.OData.ModelBuilder.xml
index f01fef9..6d46393 100644
--- a/src/Microsoft.OData.ModelBuilder/Microsoft.OData.ModelBuilder.xml
+++ b/src/Microsoft.OData.ModelBuilder/Microsoft.OData.ModelBuilder.xml
@@ -5898,14 +5898,6 @@
-
-
- Dynamic properties.
-
- The name to set
- The value to set
-
-
Supports annotation values within system query options
@@ -5924,14 +5916,6 @@
-
-
- Dynamic properties.
-
- The name to set
- The value to set
-
-
Service supports the asynchronous request preference
@@ -5950,14 +5934,6 @@
-
-
- Dynamic properties.
-
- The name to set
- The value to set
-
-
Service supports the continue on error preference. Supports $batch requests. Services that apply the BatchContinueOnErrorSupported term should also specify the ContinueOnErrorSupported property from the BatchSupport term.
@@ -6044,14 +6020,6 @@
-
-
- Dynamic properties.
-
- The name to set
- The value to set
-
-
Supports $batch requests. Services that apply the BatchSupported term should also apply the more comprehensive BatchSupport term.
@@ -6340,14 +6308,6 @@
-
-
- Dynamic properties.
-
- The name to set
- The value to set
-
-
Supports $compute
@@ -6444,14 +6404,6 @@
-
-
- Dynamic properties.
-
- The name to set
- The value to set
-
-
Supports cross joins for the entity sets in this container
@@ -6980,14 +6932,6 @@
-
-
- Dynamic properties.
-
- The name to set
- The value to set
-
-
Supports key values according to OData URL conventions
@@ -7165,14 +7109,6 @@
-
-
- Dynamic properties.
-
- The name to set
- The value to set
-
-
Supports [key-as-segment convention](http://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part2-url-conventions.html#sec_KeyasSegmentConvention) for addressing entities within a collection
@@ -7191,14 +7127,6 @@
-
-
- Dynamic properties.
-
- The name to set
- The value to set
-
-
Stream property supports update of its media edit URL and/or media read URL
@@ -7660,14 +7588,6 @@
-
-
- Dynamic properties.
-
- The name to set
- The value to set
-
-
Supports [passing query options in the request body](http://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part2-url-conventions.html#sec_PassingQueryOptionsintheRequestBody)
@@ -8065,14 +7985,6 @@
-
-
- Dynamic properties.
-
- The name to set
- The value to set
-
-
Supports $skip
@@ -8174,14 +8086,6 @@
-
-
- Dynamic properties.
-
- The name to set
- The value to set
-
-
Supports $top
@@ -8378,14 +8282,6 @@
-
-
- Dynamic properties.
-
- The name to set
- The value to set
-
-
Instances of this type may contain properties in addition to those declared in $metadata
@@ -8465,14 +8361,6 @@
-
-
- Dynamic properties.
-
- The name to set
- The value to set
-
-
The service will automatically expand this stream or navigation property even if not requested with $expand
@@ -8491,14 +8379,6 @@
-
-
- Dynamic properties.
-
- The name to set
- The value to set
-
-
The service will automatically expand this navigation property as entity references even if not requested with $expand=.../$ref
@@ -8517,14 +8397,6 @@
-
-
- Dynamic properties.
-
- The name to set
- The value to set
-
-
A value for this property is generated on both insert and update
@@ -8543,14 +8415,6 @@
-
-
- Dynamic properties.
-
- The name to set
- The value to set
-
-
A value for this property can be provided by the client on insert and update. If no value is provided on insert, a non-static default value is generated
@@ -8569,14 +8433,6 @@
-
-
- Dynamic properties.
-
- The name to set
- The value to set
-
-
A unique identifier for nested entities within a request.
@@ -8595,14 +8451,6 @@
-
-
- Dynamic properties.
-
- The name to set
- The value to set
-
-
Entity-ids follow OData URL conventions
@@ -8709,14 +8557,6 @@
-
-
- Dynamic properties.
-
- The name to set
- The value to set
-
-
Functions, actions and types in this namespace can be referenced in URLs with or without namespace- or alias- qualification.
@@ -8736,14 +8576,6 @@
-
-
- Dynamic properties.
-
- The name to set
- The value to set
-
-
Entity-ids are URLs that locate the identified entity
@@ -8762,14 +8594,6 @@
-
-
- Dynamic properties.
-
- The name to set
- The value to set
-
-
A brief description of a model element
@@ -8814,14 +8638,6 @@
-
-
- Dynamic properties.
-
- The name to set
- The value to set
-
-
A value for this non-key property can be provided by the client on insert and remains unchanged on update
@@ -8840,14 +8656,6 @@
-
-
- Dynamic properties.
-
- The name to set
- The value to set
-
-
Properties and terms annotated with this term are language-dependent
@@ -8866,14 +8674,6 @@
-
-
- Dynamic properties.
-
- The name to set
- The value to set
-
-
Properties and terms annotated with this term MUST contain a valid MIME type
@@ -8892,14 +8692,6 @@
-
-
- Dynamic properties.
-
- The name to set
- The value to set
-
-
Properties and terms annotated with this term MUST contain a valid URL
@@ -8978,14 +8770,6 @@
-
-
- Dynamic properties.
-
- The name to set
- The value to set
-
-
A lengthy description of a model element
@@ -9022,14 +8806,6 @@
-
-
- Dynamic properties.
-
- The name to set
- The value to set
-
-
The media type of a binary resource
@@ -9136,14 +8912,6 @@
-
-
- Dynamic properties.
-
- The name to set
- The value to set
-
-
A space-separated list of supported versions of the OData Protocol. Note that 4.0 is implied by 4.01 and does not need to be separately listed.
@@ -9163,14 +8931,6 @@
-
-
- Dynamic properties.
-
- The name to set
- The value to set
-
-
Action or function is available
@@ -9236,14 +8996,6 @@
-
-
- Dynamic properties.
-
- The name to set
- The value to set
-
-
Collection has a stable order. Ordered collections of primitive or complex types can be indexed by ordinal.
@@ -9310,14 +9062,6 @@
-
-
- Dynamic properties.
-
- The name to set
- The value to set
-
-
Items can be inserted at a given ordinal index.
@@ -9406,14 +9150,6 @@
-
-
- Dynamic properties.
-
- The name to set
- The value to set
-
-
Terms annotated with this term can only be applied to elements that have a type that is identical to or derived from the given type name
@@ -9472,14 +9208,6 @@
-
-
- Dynamic properties.
-
- The name to set
- The value to set
-
-
Resource path for entity container child, can be relative to xml:base and the request URL
@@ -9585,14 +9313,6 @@
-
-
- Dynamic properties.
-
- The name to set
- The value to set
-
-
Service-defined value representing the version of the schema. Services MAY use semantic versioning, but clients MUST NOT assume this is the case.
@@ -9692,6 +9412,11 @@
Base vocabulary configuration.
+
+
+ Gets or sets the vocabulary annotation location.
+
+
The name of the to build.
diff --git a/src/Microsoft.OData.ModelBuilder/Vocabularies/Capabilities/V1/AnnotationValuesInQuerySupportedConfiguration.cs b/src/Microsoft.OData.ModelBuilder/Vocabularies/Capabilities/V1/AnnotationValuesInQuerySupportedConfiguration.cs
index c2bd02a..80df330 100644
--- a/src/Microsoft.OData.ModelBuilder/Vocabularies/Capabilities/V1/AnnotationValuesInQuerySupportedConfiguration.cs
+++ b/src/Microsoft.OData.ModelBuilder/Vocabularies/Capabilities/V1/AnnotationValuesInQuerySupportedConfiguration.cs
@@ -16,24 +16,11 @@ namespace Microsoft.OData.ModelBuilder.Capabilities.V1
///
public partial class AnnotationValuesInQuerySupportedConfiguration : VocabularyTermConfiguration
{
- private readonly Dictionary _dynamicProperties = new Dictionary();
private bool? _annotationValuesInQuerySupported;
///
public override string TermName => "Org.OData.Capabilities.V1.AnnotationValuesInQuerySupported";
- ///
- /// Dynamic properties.
- ///
- /// The name to set
- /// The value to set
- ///
- public AnnotationValuesInQuerySupportedConfiguration HasDynamicProperty(string name, object value)
- {
- _dynamicProperties[name] = value;
- return this;
- }
-
///
/// Supports annotation values within system query options
///
@@ -48,21 +35,7 @@ public AnnotationValuesInQuerySupportedConfiguration IsAnnotationValuesInQuerySu
///
public override IEdmExpression ToEdmExpression()
{
- var properties = new List();
-
- if (_annotationValuesInQuerySupported.HasValue)
- {
- properties.Add(new EdmPropertyConstructor("AnnotationValuesInQuerySupported", new EdmBooleanConstant(_annotationValuesInQuerySupported.Value)));
- }
-
- properties.AddRange(_dynamicProperties.ToEdmProperties());
-
- if (!properties.Any())
- {
- return null;
- }
-
- return new EdmRecordExpression(properties);
+ return _annotationValuesInQuerySupported.HasValue ? new EdmBooleanConstant(_annotationValuesInQuerySupported.Value) : null;
}
}
}
diff --git a/src/Microsoft.OData.ModelBuilder/Vocabularies/Capabilities/V1/AsynchronousRequestsSupportedConfiguration.cs b/src/Microsoft.OData.ModelBuilder/Vocabularies/Capabilities/V1/AsynchronousRequestsSupportedConfiguration.cs
index 6a818b9..e8f7403 100644
--- a/src/Microsoft.OData.ModelBuilder/Vocabularies/Capabilities/V1/AsynchronousRequestsSupportedConfiguration.cs
+++ b/src/Microsoft.OData.ModelBuilder/Vocabularies/Capabilities/V1/AsynchronousRequestsSupportedConfiguration.cs
@@ -16,24 +16,11 @@ namespace Microsoft.OData.ModelBuilder.Capabilities.V1
///
public partial class AsynchronousRequestsSupportedConfiguration : VocabularyTermConfiguration
{
- private readonly Dictionary _dynamicProperties = new Dictionary();
private bool? _asynchronousRequestsSupported;
///
public override string TermName => "Org.OData.Capabilities.V1.AsynchronousRequestsSupported";
- ///
- /// Dynamic properties.
- ///
- /// The name to set
- /// The value to set
- ///
- public AsynchronousRequestsSupportedConfiguration HasDynamicProperty(string name, object value)
- {
- _dynamicProperties[name] = value;
- return this;
- }
-
///
/// Service supports the asynchronous request preference
///
@@ -48,21 +35,7 @@ public AsynchronousRequestsSupportedConfiguration IsAsynchronousRequestsSupporte
///
public override IEdmExpression ToEdmExpression()
{
- var properties = new List();
-
- if (_asynchronousRequestsSupported.HasValue)
- {
- properties.Add(new EdmPropertyConstructor("AsynchronousRequestsSupported", new EdmBooleanConstant(_asynchronousRequestsSupported.Value)));
- }
-
- properties.AddRange(_dynamicProperties.ToEdmProperties());
-
- if (!properties.Any())
- {
- return null;
- }
-
- return new EdmRecordExpression(properties);
+ return _asynchronousRequestsSupported.HasValue ? new EdmBooleanConstant(_asynchronousRequestsSupported.Value) : null;
}
}
}
diff --git a/src/Microsoft.OData.ModelBuilder/Vocabularies/Capabilities/V1/BatchContinueOnErrorSupportedConfiguration.cs b/src/Microsoft.OData.ModelBuilder/Vocabularies/Capabilities/V1/BatchContinueOnErrorSupportedConfiguration.cs
index 3071b86..f398b1c 100644
--- a/src/Microsoft.OData.ModelBuilder/Vocabularies/Capabilities/V1/BatchContinueOnErrorSupportedConfiguration.cs
+++ b/src/Microsoft.OData.ModelBuilder/Vocabularies/Capabilities/V1/BatchContinueOnErrorSupportedConfiguration.cs
@@ -16,24 +16,11 @@ namespace Microsoft.OData.ModelBuilder.Capabilities.V1
///
public partial class BatchContinueOnErrorSupportedConfiguration : VocabularyTermConfiguration
{
- private readonly Dictionary _dynamicProperties = new Dictionary();
private bool? _batchContinueOnErrorSupported;
///
public override string TermName => "Org.OData.Capabilities.V1.BatchContinueOnErrorSupported";
- ///
- /// Dynamic properties.
- ///
- /// The name to set
- /// The value to set
- ///
- public BatchContinueOnErrorSupportedConfiguration HasDynamicProperty(string name, object value)
- {
- _dynamicProperties[name] = value;
- return this;
- }
-
///
/// Service supports the continue on error preference. Supports $batch requests. Services that apply the BatchContinueOnErrorSupported term should also specify the ContinueOnErrorSupported property from the BatchSupport term.
///
@@ -48,21 +35,7 @@ public BatchContinueOnErrorSupportedConfiguration IsBatchContinueOnErrorSupporte
///
public override IEdmExpression ToEdmExpression()
{
- var properties = new List();
-
- if (_batchContinueOnErrorSupported.HasValue)
- {
- properties.Add(new EdmPropertyConstructor("BatchContinueOnErrorSupported", new EdmBooleanConstant(_batchContinueOnErrorSupported.Value)));
- }
-
- properties.AddRange(_dynamicProperties.ToEdmProperties());
-
- if (!properties.Any())
- {
- return null;
- }
-
- return new EdmRecordExpression(properties);
+ return _batchContinueOnErrorSupported.HasValue ? new EdmBooleanConstant(_batchContinueOnErrorSupported.Value) : null;
}
}
}
diff --git a/src/Microsoft.OData.ModelBuilder/Vocabularies/Capabilities/V1/BatchSupportedConfiguration.cs b/src/Microsoft.OData.ModelBuilder/Vocabularies/Capabilities/V1/BatchSupportedConfiguration.cs
index 2491a09..d45985c 100644
--- a/src/Microsoft.OData.ModelBuilder/Vocabularies/Capabilities/V1/BatchSupportedConfiguration.cs
+++ b/src/Microsoft.OData.ModelBuilder/Vocabularies/Capabilities/V1/BatchSupportedConfiguration.cs
@@ -16,24 +16,11 @@ namespace Microsoft.OData.ModelBuilder.Capabilities.V1
///
public partial class BatchSupportedConfiguration : VocabularyTermConfiguration
{
- private readonly Dictionary _dynamicProperties = new Dictionary();
private bool? _batchSupported;
///
public override string TermName => "Org.OData.Capabilities.V1.BatchSupported";
- ///
- /// Dynamic properties.
- ///
- /// The name to set
- /// The value to set
- ///
- public BatchSupportedConfiguration HasDynamicProperty(string name, object value)
- {
- _dynamicProperties[name] = value;
- return this;
- }
-
///
/// Supports $batch requests. Services that apply the BatchSupported term should also apply the more comprehensive BatchSupport term.
///
@@ -48,21 +35,7 @@ public BatchSupportedConfiguration IsBatchSupported(bool batchSupported)
///
public override IEdmExpression ToEdmExpression()
{
- var properties = new List();
-
- if (_batchSupported.HasValue)
- {
- properties.Add(new EdmPropertyConstructor("BatchSupported", new EdmBooleanConstant(_batchSupported.Value)));
- }
-
- properties.AddRange(_dynamicProperties.ToEdmProperties());
-
- if (!properties.Any())
- {
- return null;
- }
-
- return new EdmRecordExpression(properties);
+ return _batchSupported.HasValue ? new EdmBooleanConstant(_batchSupported.Value) : null;
}
}
}
diff --git a/src/Microsoft.OData.ModelBuilder/Vocabularies/Capabilities/V1/ComputeSupportedConfiguration.cs b/src/Microsoft.OData.ModelBuilder/Vocabularies/Capabilities/V1/ComputeSupportedConfiguration.cs
index d456fe2..d95fefb 100644
--- a/src/Microsoft.OData.ModelBuilder/Vocabularies/Capabilities/V1/ComputeSupportedConfiguration.cs
+++ b/src/Microsoft.OData.ModelBuilder/Vocabularies/Capabilities/V1/ComputeSupportedConfiguration.cs
@@ -16,24 +16,11 @@ namespace Microsoft.OData.ModelBuilder.Capabilities.V1
///
public partial class ComputeSupportedConfiguration : VocabularyTermConfiguration
{
- private readonly Dictionary _dynamicProperties = new Dictionary();
private bool? _computeSupported;
///
public override string TermName => "Org.OData.Capabilities.V1.ComputeSupported";
- ///
- /// Dynamic properties.
- ///
- /// The name to set
- /// The value to set
- ///
- public ComputeSupportedConfiguration HasDynamicProperty(string name, object value)
- {
- _dynamicProperties[name] = value;
- return this;
- }
-
///
/// Supports $compute
///
@@ -48,21 +35,7 @@ public ComputeSupportedConfiguration IsComputeSupported(bool computeSupported)
///
public override IEdmExpression ToEdmExpression()
{
- var properties = new List();
-
- if (_computeSupported.HasValue)
- {
- properties.Add(new EdmPropertyConstructor("ComputeSupported", new EdmBooleanConstant(_computeSupported.Value)));
- }
-
- properties.AddRange(_dynamicProperties.ToEdmProperties());
-
- if (!properties.Any())
- {
- return null;
- }
-
- return new EdmRecordExpression(properties);
+ return _computeSupported.HasValue ? new EdmBooleanConstant(_computeSupported.Value) : null;
}
}
}
diff --git a/src/Microsoft.OData.ModelBuilder/Vocabularies/Capabilities/V1/CrossJoinSupportedConfiguration.cs b/src/Microsoft.OData.ModelBuilder/Vocabularies/Capabilities/V1/CrossJoinSupportedConfiguration.cs
index 05fedfa..5e06cbf 100644
--- a/src/Microsoft.OData.ModelBuilder/Vocabularies/Capabilities/V1/CrossJoinSupportedConfiguration.cs
+++ b/src/Microsoft.OData.ModelBuilder/Vocabularies/Capabilities/V1/CrossJoinSupportedConfiguration.cs
@@ -16,24 +16,11 @@ namespace Microsoft.OData.ModelBuilder.Capabilities.V1
///
public partial class CrossJoinSupportedConfiguration : VocabularyTermConfiguration
{
- private readonly Dictionary _dynamicProperties = new Dictionary();
private bool? _crossJoinSupported;
///
public override string TermName => "Org.OData.Capabilities.V1.CrossJoinSupported";
- ///
- /// Dynamic properties.
- ///
- /// The name to set
- /// The value to set
- ///
- public CrossJoinSupportedConfiguration HasDynamicProperty(string name, object value)
- {
- _dynamicProperties[name] = value;
- return this;
- }
-
///
/// Supports cross joins for the entity sets in this container
///
@@ -48,21 +35,7 @@ public CrossJoinSupportedConfiguration IsCrossJoinSupported(bool crossJoinSuppor
///
public override IEdmExpression ToEdmExpression()
{
- var properties = new List();
-
- if (_crossJoinSupported.HasValue)
- {
- properties.Add(new EdmPropertyConstructor("CrossJoinSupported", new EdmBooleanConstant(_crossJoinSupported.Value)));
- }
-
- properties.AddRange(_dynamicProperties.ToEdmProperties());
-
- if (!properties.Any())
- {
- return null;
- }
-
- return new EdmRecordExpression(properties);
+ return _crossJoinSupported.HasValue ? new EdmBooleanConstant(_crossJoinSupported.Value) : null;
}
}
}
diff --git a/src/Microsoft.OData.ModelBuilder/Vocabularies/Capabilities/V1/IndexableByKeyConfiguration.cs b/src/Microsoft.OData.ModelBuilder/Vocabularies/Capabilities/V1/IndexableByKeyConfiguration.cs
index 577d013..5c87410 100644
--- a/src/Microsoft.OData.ModelBuilder/Vocabularies/Capabilities/V1/IndexableByKeyConfiguration.cs
+++ b/src/Microsoft.OData.ModelBuilder/Vocabularies/Capabilities/V1/IndexableByKeyConfiguration.cs
@@ -16,24 +16,11 @@ namespace Microsoft.OData.ModelBuilder.Capabilities.V1
///
public partial class IndexableByKeyConfiguration : VocabularyTermConfiguration
{
- private readonly Dictionary _dynamicProperties = new Dictionary();
private bool? _indexableByKey;
///
public override string TermName => "Org.OData.Capabilities.V1.IndexableByKey";
- ///
- /// Dynamic properties.
- ///
- /// The name to set
- /// The value to set
- ///
- public IndexableByKeyConfiguration HasDynamicProperty(string name, object value)
- {
- _dynamicProperties[name] = value;
- return this;
- }
-
///
/// Supports key values according to OData URL conventions
///
@@ -48,21 +35,7 @@ public IndexableByKeyConfiguration IsIndexableByKey(bool indexableByKey)
///
public override IEdmExpression ToEdmExpression()
{
- var properties = new List();
-
- if (_indexableByKey.HasValue)
- {
- properties.Add(new EdmPropertyConstructor("IndexableByKey", new EdmBooleanConstant(_indexableByKey.Value)));
- }
-
- properties.AddRange(_dynamicProperties.ToEdmProperties());
-
- if (!properties.Any())
- {
- return null;
- }
-
- return new EdmRecordExpression(properties);
+ return _indexableByKey.HasValue ? new EdmBooleanConstant(_indexableByKey.Value) : null;
}
}
}
diff --git a/src/Microsoft.OData.ModelBuilder/Vocabularies/Capabilities/V1/KeyAsSegmentSupportedConfiguration.cs b/src/Microsoft.OData.ModelBuilder/Vocabularies/Capabilities/V1/KeyAsSegmentSupportedConfiguration.cs
index 54014f0..71da6a0 100644
--- a/src/Microsoft.OData.ModelBuilder/Vocabularies/Capabilities/V1/KeyAsSegmentSupportedConfiguration.cs
+++ b/src/Microsoft.OData.ModelBuilder/Vocabularies/Capabilities/V1/KeyAsSegmentSupportedConfiguration.cs
@@ -16,24 +16,11 @@ namespace Microsoft.OData.ModelBuilder.Capabilities.V1
///
public partial class KeyAsSegmentSupportedConfiguration : VocabularyTermConfiguration
{
- private readonly Dictionary _dynamicProperties = new Dictionary();
private bool? _keyAsSegmentSupported;
///
public override string TermName => "Org.OData.Capabilities.V1.KeyAsSegmentSupported";
- ///
- /// Dynamic properties.
- ///
- /// The name to set
- /// The value to set
- ///
- public KeyAsSegmentSupportedConfiguration HasDynamicProperty(string name, object value)
- {
- _dynamicProperties[name] = value;
- return this;
- }
-
///
/// Supports [key-as-segment convention](http://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part2-url-conventions.html#sec_KeyasSegmentConvention) for addressing entities within a collection
///
@@ -48,21 +35,7 @@ public KeyAsSegmentSupportedConfiguration IsKeyAsSegmentSupported(bool keyAsSegm
///
public override IEdmExpression ToEdmExpression()
{
- var properties = new List();
-
- if (_keyAsSegmentSupported.HasValue)
- {
- properties.Add(new EdmPropertyConstructor("KeyAsSegmentSupported", new EdmBooleanConstant(_keyAsSegmentSupported.Value)));
- }
-
- properties.AddRange(_dynamicProperties.ToEdmProperties());
-
- if (!properties.Any())
- {
- return null;
- }
-
- return new EdmRecordExpression(properties);
+ return _keyAsSegmentSupported.HasValue ? new EdmBooleanConstant(_keyAsSegmentSupported.Value) : null;
}
}
}
diff --git a/src/Microsoft.OData.ModelBuilder/Vocabularies/Capabilities/V1/MediaLocationUpdateSupportedConfiguration.cs b/src/Microsoft.OData.ModelBuilder/Vocabularies/Capabilities/V1/MediaLocationUpdateSupportedConfiguration.cs
index 0e645be..5b780a5 100644
--- a/src/Microsoft.OData.ModelBuilder/Vocabularies/Capabilities/V1/MediaLocationUpdateSupportedConfiguration.cs
+++ b/src/Microsoft.OData.ModelBuilder/Vocabularies/Capabilities/V1/MediaLocationUpdateSupportedConfiguration.cs
@@ -16,24 +16,11 @@ namespace Microsoft.OData.ModelBuilder.Capabilities.V1
///
public partial class MediaLocationUpdateSupportedConfiguration : VocabularyTermConfiguration
{
- private readonly Dictionary _dynamicProperties = new Dictionary();
private bool? _mediaLocationUpdateSupported;
///
public override string TermName => "Org.OData.Capabilities.V1.MediaLocationUpdateSupported";
- ///
- /// Dynamic properties.
- ///
- /// The name to set
- /// The value to set
- ///
- public MediaLocationUpdateSupportedConfiguration HasDynamicProperty(string name, object value)
- {
- _dynamicProperties[name] = value;
- return this;
- }
-
///
/// Stream property supports update of its media edit URL and/or media read URL
///
@@ -48,21 +35,7 @@ public MediaLocationUpdateSupportedConfiguration IsMediaLocationUpdateSupported(
///
public override IEdmExpression ToEdmExpression()
{
- var properties = new List();
-
- if (_mediaLocationUpdateSupported.HasValue)
- {
- properties.Add(new EdmPropertyConstructor("MediaLocationUpdateSupported", new EdmBooleanConstant(_mediaLocationUpdateSupported.Value)));
- }
-
- properties.AddRange(_dynamicProperties.ToEdmProperties());
-
- if (!properties.Any())
- {
- return null;
- }
-
- return new EdmRecordExpression(properties);
+ return _mediaLocationUpdateSupported.HasValue ? new EdmBooleanConstant(_mediaLocationUpdateSupported.Value) : null;
}
}
}
diff --git a/src/Microsoft.OData.ModelBuilder/Vocabularies/Capabilities/V1/QuerySegmentSupportedConfiguration.cs b/src/Microsoft.OData.ModelBuilder/Vocabularies/Capabilities/V1/QuerySegmentSupportedConfiguration.cs
index f635ebd..7d2586e 100644
--- a/src/Microsoft.OData.ModelBuilder/Vocabularies/Capabilities/V1/QuerySegmentSupportedConfiguration.cs
+++ b/src/Microsoft.OData.ModelBuilder/Vocabularies/Capabilities/V1/QuerySegmentSupportedConfiguration.cs
@@ -16,24 +16,11 @@ namespace Microsoft.OData.ModelBuilder.Capabilities.V1
///
public partial class QuerySegmentSupportedConfiguration : VocabularyTermConfiguration
{
- private readonly Dictionary _dynamicProperties = new Dictionary();
private bool? _querySegmentSupported;
///
public override string TermName => "Org.OData.Capabilities.V1.QuerySegmentSupported";
- ///
- /// Dynamic properties.
- ///
- /// The name to set
- /// The value to set
- ///
- public QuerySegmentSupportedConfiguration HasDynamicProperty(string name, object value)
- {
- _dynamicProperties[name] = value;
- return this;
- }
-
///
/// Supports [passing query options in the request body](http://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part2-url-conventions.html#sec_PassingQueryOptionsintheRequestBody)
///
@@ -48,21 +35,7 @@ public QuerySegmentSupportedConfiguration IsQuerySegmentSupported(bool querySegm
///
public override IEdmExpression ToEdmExpression()
{
- var properties = new List();
-
- if (_querySegmentSupported.HasValue)
- {
- properties.Add(new EdmPropertyConstructor("QuerySegmentSupported", new EdmBooleanConstant(_querySegmentSupported.Value)));
- }
-
- properties.AddRange(_dynamicProperties.ToEdmProperties());
-
- if (!properties.Any())
- {
- return null;
- }
-
- return new EdmRecordExpression(properties);
+ return _querySegmentSupported.HasValue ? new EdmBooleanConstant(_querySegmentSupported.Value) : null;
}
}
}
diff --git a/src/Microsoft.OData.ModelBuilder/Vocabularies/Capabilities/V1/SkipSupportedConfiguration.cs b/src/Microsoft.OData.ModelBuilder/Vocabularies/Capabilities/V1/SkipSupportedConfiguration.cs
index 9b1fb5f..e7c3962 100644
--- a/src/Microsoft.OData.ModelBuilder/Vocabularies/Capabilities/V1/SkipSupportedConfiguration.cs
+++ b/src/Microsoft.OData.ModelBuilder/Vocabularies/Capabilities/V1/SkipSupportedConfiguration.cs
@@ -16,24 +16,11 @@ namespace Microsoft.OData.ModelBuilder.Capabilities.V1
///
public partial class SkipSupportedConfiguration : VocabularyTermConfiguration
{
- private readonly Dictionary _dynamicProperties = new Dictionary();
private bool? _skipSupported;
///
public override string TermName => "Org.OData.Capabilities.V1.SkipSupported";
- ///
- /// Dynamic properties.
- ///
- /// The name to set
- /// The value to set
- ///
- public SkipSupportedConfiguration HasDynamicProperty(string name, object value)
- {
- _dynamicProperties[name] = value;
- return this;
- }
-
///
/// Supports $skip
///
@@ -48,21 +35,7 @@ public SkipSupportedConfiguration IsSkipSupported(bool skipSupported)
///
public override IEdmExpression ToEdmExpression()
{
- var properties = new List();
-
- if (_skipSupported.HasValue)
- {
- properties.Add(new EdmPropertyConstructor("SkipSupported", new EdmBooleanConstant(_skipSupported.Value)));
- }
-
- properties.AddRange(_dynamicProperties.ToEdmProperties());
-
- if (!properties.Any())
- {
- return null;
- }
-
- return new EdmRecordExpression(properties);
+ return _skipSupported.HasValue ? new EdmBooleanConstant(_skipSupported.Value) : null;
}
}
}
diff --git a/src/Microsoft.OData.ModelBuilder/Vocabularies/Capabilities/V1/TopSupportedConfiguration.cs b/src/Microsoft.OData.ModelBuilder/Vocabularies/Capabilities/V1/TopSupportedConfiguration.cs
index bbbd499..41c30f5 100644
--- a/src/Microsoft.OData.ModelBuilder/Vocabularies/Capabilities/V1/TopSupportedConfiguration.cs
+++ b/src/Microsoft.OData.ModelBuilder/Vocabularies/Capabilities/V1/TopSupportedConfiguration.cs
@@ -16,24 +16,11 @@ namespace Microsoft.OData.ModelBuilder.Capabilities.V1
///
public partial class TopSupportedConfiguration : VocabularyTermConfiguration
{
- private readonly Dictionary _dynamicProperties = new Dictionary();
private bool? _topSupported;
///
public override string TermName => "Org.OData.Capabilities.V1.TopSupported";
- ///
- /// Dynamic properties.
- ///
- /// The name to set
- /// The value to set
- ///
- public TopSupportedConfiguration HasDynamicProperty(string name, object value)
- {
- _dynamicProperties[name] = value;
- return this;
- }
-
///
/// Supports $top
///
@@ -48,21 +35,7 @@ public TopSupportedConfiguration IsTopSupported(bool topSupported)
///
public override IEdmExpression ToEdmExpression()
{
- var properties = new List();
-
- if (_topSupported.HasValue)
- {
- properties.Add(new EdmPropertyConstructor("TopSupported", new EdmBooleanConstant(_topSupported.Value)));
- }
-
- properties.AddRange(_dynamicProperties.ToEdmProperties());
-
- if (!properties.Any())
- {
- return null;
- }
-
- return new EdmRecordExpression(properties);
+ return _topSupported.HasValue ? new EdmBooleanConstant(_topSupported.Value) : null;
}
}
}
diff --git a/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/AdditionalPropertiesConfiguration.cs b/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/AdditionalPropertiesConfiguration.cs
index b1a1e19..6150021 100644
--- a/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/AdditionalPropertiesConfiguration.cs
+++ b/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/AdditionalPropertiesConfiguration.cs
@@ -17,24 +17,11 @@ namespace Microsoft.OData.ModelBuilder.Core.V1
///
public partial class AdditionalPropertiesConfiguration : VocabularyTermConfiguration
{
- private readonly Dictionary _dynamicProperties = new Dictionary();
private bool? _additionalProperties;
///
public override string TermName => "Org.OData.Core.V1.AdditionalProperties";
- ///
- /// Dynamic properties.
- ///
- /// The name to set
- /// The value to set
- ///
- public AdditionalPropertiesConfiguration HasDynamicProperty(string name, object value)
- {
- _dynamicProperties[name] = value;
- return this;
- }
-
///
/// Instances of this type may contain properties in addition to those declared in $metadata
/// If specified as false clients can assume that instances will not contain dynamic properties, irrespective of the value of the OpenType attribute.
@@ -50,21 +37,7 @@ public AdditionalPropertiesConfiguration IsAdditionalProperties(bool additionalP
///
public override IEdmExpression ToEdmExpression()
{
- var properties = new List();
-
- if (_additionalProperties.HasValue)
- {
- properties.Add(new EdmPropertyConstructor("AdditionalProperties", new EdmBooleanConstant(_additionalProperties.Value)));
- }
-
- properties.AddRange(_dynamicProperties.ToEdmProperties());
-
- if (!properties.Any())
- {
- return null;
- }
-
- return new EdmRecordExpression(properties);
+ return _additionalProperties.HasValue ? new EdmBooleanConstant(_additionalProperties.Value) : null;
}
}
}
diff --git a/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/AutoExpandConfiguration.cs b/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/AutoExpandConfiguration.cs
index 2cda2a0..1c67a14 100644
--- a/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/AutoExpandConfiguration.cs
+++ b/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/AutoExpandConfiguration.cs
@@ -16,24 +16,11 @@ namespace Microsoft.OData.ModelBuilder.Core.V1
///
public partial class AutoExpandConfiguration : VocabularyTermConfiguration
{
- private readonly Dictionary _dynamicProperties = new Dictionary();
private bool? _autoExpand;
///
public override string TermName => "Org.OData.Core.V1.AutoExpand";
- ///
- /// Dynamic properties.
- ///
- /// The name to set
- /// The value to set
- ///
- public AutoExpandConfiguration HasDynamicProperty(string name, object value)
- {
- _dynamicProperties[name] = value;
- return this;
- }
-
///
/// The service will automatically expand this stream or navigation property even if not requested with $expand
///
@@ -48,21 +35,7 @@ public AutoExpandConfiguration IsAutoExpand(bool autoExpand)
///
public override IEdmExpression ToEdmExpression()
{
- var properties = new List();
-
- if (_autoExpand.HasValue)
- {
- properties.Add(new EdmPropertyConstructor("AutoExpand", new EdmBooleanConstant(_autoExpand.Value)));
- }
-
- properties.AddRange(_dynamicProperties.ToEdmProperties());
-
- if (!properties.Any())
- {
- return null;
- }
-
- return new EdmRecordExpression(properties);
+ return _autoExpand.HasValue ? new EdmBooleanConstant(_autoExpand.Value) : null;
}
}
}
diff --git a/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/AutoExpandReferencesConfiguration.cs b/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/AutoExpandReferencesConfiguration.cs
index 4a76d9f..07dcf36 100644
--- a/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/AutoExpandReferencesConfiguration.cs
+++ b/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/AutoExpandReferencesConfiguration.cs
@@ -16,24 +16,11 @@ namespace Microsoft.OData.ModelBuilder.Core.V1
///
public partial class AutoExpandReferencesConfiguration : VocabularyTermConfiguration
{
- private readonly Dictionary _dynamicProperties = new Dictionary();
private bool? _autoExpandReferences;
///
public override string TermName => "Org.OData.Core.V1.AutoExpandReferences";
- ///
- /// Dynamic properties.
- ///
- /// The name to set
- /// The value to set
- ///
- public AutoExpandReferencesConfiguration HasDynamicProperty(string name, object value)
- {
- _dynamicProperties[name] = value;
- return this;
- }
-
///
/// The service will automatically expand this navigation property as entity references even if not requested with $expand=.../$ref
///
@@ -48,21 +35,7 @@ public AutoExpandReferencesConfiguration IsAutoExpandReferences(bool autoExpandR
///
public override IEdmExpression ToEdmExpression()
{
- var properties = new List();
-
- if (_autoExpandReferences.HasValue)
- {
- properties.Add(new EdmPropertyConstructor("AutoExpandReferences", new EdmBooleanConstant(_autoExpandReferences.Value)));
- }
-
- properties.AddRange(_dynamicProperties.ToEdmProperties());
-
- if (!properties.Any())
- {
- return null;
- }
-
- return new EdmRecordExpression(properties);
+ return _autoExpandReferences.HasValue ? new EdmBooleanConstant(_autoExpandReferences.Value) : null;
}
}
}
diff --git a/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/ComputedConfiguration.cs b/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/ComputedConfiguration.cs
index ec478f4..6ad4d8d 100644
--- a/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/ComputedConfiguration.cs
+++ b/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/ComputedConfiguration.cs
@@ -16,24 +16,11 @@ namespace Microsoft.OData.ModelBuilder.Core.V1
///
public partial class ComputedConfiguration : VocabularyTermConfiguration
{
- private readonly Dictionary _dynamicProperties = new Dictionary();
private bool? _computed;
///
public override string TermName => "Org.OData.Core.V1.Computed";
- ///
- /// Dynamic properties.
- ///
- /// The name to set
- /// The value to set
- ///
- public ComputedConfiguration HasDynamicProperty(string name, object value)
- {
- _dynamicProperties[name] = value;
- return this;
- }
-
///
/// A value for this property is generated on both insert and update
///
@@ -48,21 +35,7 @@ public ComputedConfiguration IsComputed(bool computed)
///
public override IEdmExpression ToEdmExpression()
{
- var properties = new List();
-
- if (_computed.HasValue)
- {
- properties.Add(new EdmPropertyConstructor("Computed", new EdmBooleanConstant(_computed.Value)));
- }
-
- properties.AddRange(_dynamicProperties.ToEdmProperties());
-
- if (!properties.Any())
- {
- return null;
- }
-
- return new EdmRecordExpression(properties);
+ return _computed.HasValue ? new EdmBooleanConstant(_computed.Value) : null;
}
}
}
diff --git a/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/ComputedDefaultValueConfiguration.cs b/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/ComputedDefaultValueConfiguration.cs
index b5e3d98..1921839 100644
--- a/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/ComputedDefaultValueConfiguration.cs
+++ b/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/ComputedDefaultValueConfiguration.cs
@@ -16,24 +16,11 @@ namespace Microsoft.OData.ModelBuilder.Core.V1
///
public partial class ComputedDefaultValueConfiguration : VocabularyTermConfiguration
{
- private readonly Dictionary _dynamicProperties = new Dictionary();
private bool? _computedDefaultValue;
///
public override string TermName => "Org.OData.Core.V1.ComputedDefaultValue";
- ///
- /// Dynamic properties.
- ///
- /// The name to set
- /// The value to set
- ///
- public ComputedDefaultValueConfiguration HasDynamicProperty(string name, object value)
- {
- _dynamicProperties[name] = value;
- return this;
- }
-
///
/// A value for this property can be provided by the client on insert and update. If no value is provided on insert, a non-static default value is generated
///
@@ -48,21 +35,7 @@ public ComputedDefaultValueConfiguration IsComputedDefaultValue(bool computedDef
///
public override IEdmExpression ToEdmExpression()
{
- var properties = new List();
-
- if (_computedDefaultValue.HasValue)
- {
- properties.Add(new EdmPropertyConstructor("ComputedDefaultValue", new EdmBooleanConstant(_computedDefaultValue.Value)));
- }
-
- properties.AddRange(_dynamicProperties.ToEdmProperties());
-
- if (!properties.Any())
- {
- return null;
- }
-
- return new EdmRecordExpression(properties);
+ return _computedDefaultValue.HasValue ? new EdmBooleanConstant(_computedDefaultValue.Value) : null;
}
}
}
diff --git a/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/ContentIDConfiguration.cs b/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/ContentIDConfiguration.cs
index 5dea9fa..0c11f46 100644
--- a/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/ContentIDConfiguration.cs
+++ b/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/ContentIDConfiguration.cs
@@ -16,24 +16,11 @@ namespace Microsoft.OData.ModelBuilder.Core.V1
///
public partial class ContentIDConfiguration : VocabularyTermConfiguration
{
- private readonly Dictionary _dynamicProperties = new Dictionary();
private string _contentID;
///
public override string TermName => "Org.OData.Core.V1.ContentID";
- ///
- /// Dynamic properties.
- ///
- /// The name to set
- /// The value to set
- ///
- public ContentIDConfiguration HasDynamicProperty(string name, object value)
- {
- _dynamicProperties[name] = value;
- return this;
- }
-
///
/// A unique identifier for nested entities within a request.
///
@@ -48,21 +35,7 @@ public ContentIDConfiguration HasContentID(string contentID)
///
public override IEdmExpression ToEdmExpression()
{
- var properties = new List();
-
- if (!string.IsNullOrEmpty(_contentID))
- {
- properties.Add(new EdmPropertyConstructor("ContentID", new EdmStringConstant(_contentID)));
- }
-
- properties.AddRange(_dynamicProperties.ToEdmProperties());
-
- if (!properties.Any())
- {
- return null;
- }
-
- return new EdmRecordExpression(properties);
+ return new EdmStringConstant(_contentID);
}
}
}
diff --git a/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/ConventionalIDsConfiguration.cs b/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/ConventionalIDsConfiguration.cs
index ab49607..106e0a6 100644
--- a/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/ConventionalIDsConfiguration.cs
+++ b/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/ConventionalIDsConfiguration.cs
@@ -16,24 +16,11 @@ namespace Microsoft.OData.ModelBuilder.Core.V1
///
public partial class ConventionalIDsConfiguration : VocabularyTermConfiguration
{
- private readonly Dictionary _dynamicProperties = new Dictionary();
private bool? _conventionalIDs;
///
public override string TermName => "Org.OData.Core.V1.ConventionalIDs";
- ///
- /// Dynamic properties.
- ///
- /// The name to set
- /// The value to set
- ///
- public ConventionalIDsConfiguration HasDynamicProperty(string name, object value)
- {
- _dynamicProperties[name] = value;
- return this;
- }
-
///
/// Entity-ids follow OData URL conventions
///
@@ -48,21 +35,7 @@ public ConventionalIDsConfiguration IsConventionalIDs(bool conventionalIDs)
///
public override IEdmExpression ToEdmExpression()
{
- var properties = new List();
-
- if (_conventionalIDs.HasValue)
- {
- properties.Add(new EdmPropertyConstructor("ConventionalIDs", new EdmBooleanConstant(_conventionalIDs.Value)));
- }
-
- properties.AddRange(_dynamicProperties.ToEdmProperties());
-
- if (!properties.Any())
- {
- return null;
- }
-
- return new EdmRecordExpression(properties);
+ return _conventionalIDs.HasValue ? new EdmBooleanConstant(_conventionalIDs.Value) : null;
}
}
}
diff --git a/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/DefaultNamespaceConfiguration.cs b/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/DefaultNamespaceConfiguration.cs
index 8a5b507..376b1fc 100644
--- a/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/DefaultNamespaceConfiguration.cs
+++ b/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/DefaultNamespaceConfiguration.cs
@@ -17,24 +17,11 @@ namespace Microsoft.OData.ModelBuilder.Core.V1
///
public partial class DefaultNamespaceConfiguration : VocabularyTermConfiguration
{
- private readonly Dictionary _dynamicProperties = new Dictionary();
private bool? _defaultNamespace;
///
public override string TermName => "Org.OData.Core.V1.DefaultNamespace";
- ///
- /// Dynamic properties.
- ///
- /// The name to set
- /// The value to set
- ///
- public DefaultNamespaceConfiguration HasDynamicProperty(string name, object value)
- {
- _dynamicProperties[name] = value;
- return this;
- }
-
///
/// Functions, actions and types in this namespace can be referenced in URLs with or without namespace- or alias- qualification.
/// Data Modelers should ensure uniqueness of schema children across all default namespaces, and should avoid naming bound functions, actions, or derived types with the same name as a structural or navigational property of the type.
@@ -50,21 +37,7 @@ public DefaultNamespaceConfiguration IsDefaultNamespace(bool defaultNamespace)
///
public override IEdmExpression ToEdmExpression()
{
- var properties = new List();
-
- if (_defaultNamespace.HasValue)
- {
- properties.Add(new EdmPropertyConstructor("DefaultNamespace", new EdmBooleanConstant(_defaultNamespace.Value)));
- }
-
- properties.AddRange(_dynamicProperties.ToEdmProperties());
-
- if (!properties.Any())
- {
- return null;
- }
-
- return new EdmRecordExpression(properties);
+ return _defaultNamespace.HasValue ? new EdmBooleanConstant(_defaultNamespace.Value) : null;
}
}
}
diff --git a/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/DereferenceableIDsConfiguration.cs b/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/DereferenceableIDsConfiguration.cs
index 743d1e0..ffe73e6 100644
--- a/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/DereferenceableIDsConfiguration.cs
+++ b/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/DereferenceableIDsConfiguration.cs
@@ -16,24 +16,11 @@ namespace Microsoft.OData.ModelBuilder.Core.V1
///
public partial class DereferenceableIDsConfiguration : VocabularyTermConfiguration
{
- private readonly Dictionary _dynamicProperties = new Dictionary();
private bool? _dereferenceableIDs;
///
public override string TermName => "Org.OData.Core.V1.DereferenceableIDs";
- ///
- /// Dynamic properties.
- ///
- /// The name to set
- /// The value to set
- ///
- public DereferenceableIDsConfiguration HasDynamicProperty(string name, object value)
- {
- _dynamicProperties[name] = value;
- return this;
- }
-
///
/// Entity-ids are URLs that locate the identified entity
///
@@ -48,21 +35,7 @@ public DereferenceableIDsConfiguration IsDereferenceableIDs(bool dereferenceable
///
public override IEdmExpression ToEdmExpression()
{
- var properties = new List();
-
- if (_dereferenceableIDs.HasValue)
- {
- properties.Add(new EdmPropertyConstructor("DereferenceableIDs", new EdmBooleanConstant(_dereferenceableIDs.Value)));
- }
-
- properties.AddRange(_dynamicProperties.ToEdmProperties());
-
- if (!properties.Any())
- {
- return null;
- }
-
- return new EdmRecordExpression(properties);
+ return _dereferenceableIDs.HasValue ? new EdmBooleanConstant(_dereferenceableIDs.Value) : null;
}
}
}
diff --git a/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/DescriptionConfiguration.cs b/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/DescriptionConfiguration.cs
index bef15e6..eb24f24 100644
--- a/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/DescriptionConfiguration.cs
+++ b/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/DescriptionConfiguration.cs
@@ -16,24 +16,11 @@ namespace Microsoft.OData.ModelBuilder.Core.V1
///
public partial class DescriptionConfiguration : VocabularyTermConfiguration
{
- private readonly Dictionary _dynamicProperties = new Dictionary();
private string _description;
///
public override string TermName => "Org.OData.Core.V1.Description";
- ///
- /// Dynamic properties.
- ///
- /// The name to set
- /// The value to set
- ///
- public DescriptionConfiguration HasDynamicProperty(string name, object value)
- {
- _dynamicProperties[name] = value;
- return this;
- }
-
///
/// A brief description of a model element
///
@@ -48,21 +35,7 @@ public DescriptionConfiguration HasDescription(string description)
///
public override IEdmExpression ToEdmExpression()
{
- var properties = new List();
-
- if (!string.IsNullOrEmpty(_description))
- {
- properties.Add(new EdmPropertyConstructor("Description", new EdmStringConstant(_description)));
- }
-
- properties.AddRange(_dynamicProperties.ToEdmProperties());
-
- if (!properties.Any())
- {
- return null;
- }
-
- return new EdmRecordExpression(properties);
+ return new EdmStringConstant(_description);
}
}
}
diff --git a/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/ImmutableConfiguration.cs b/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/ImmutableConfiguration.cs
index f331032..6a452dc 100644
--- a/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/ImmutableConfiguration.cs
+++ b/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/ImmutableConfiguration.cs
@@ -16,24 +16,11 @@ namespace Microsoft.OData.ModelBuilder.Core.V1
///
public partial class ImmutableConfiguration : VocabularyTermConfiguration
{
- private readonly Dictionary _dynamicProperties = new Dictionary();
private bool? _immutable;
///
public override string TermName => "Org.OData.Core.V1.Immutable";
- ///
- /// Dynamic properties.
- ///
- /// The name to set
- /// The value to set
- ///
- public ImmutableConfiguration HasDynamicProperty(string name, object value)
- {
- _dynamicProperties[name] = value;
- return this;
- }
-
///
/// A value for this non-key property can be provided by the client on insert and remains unchanged on update
///
@@ -48,21 +35,7 @@ public ImmutableConfiguration IsImmutable(bool immutable)
///
public override IEdmExpression ToEdmExpression()
{
- var properties = new List();
-
- if (_immutable.HasValue)
- {
- properties.Add(new EdmPropertyConstructor("Immutable", new EdmBooleanConstant(_immutable.Value)));
- }
-
- properties.AddRange(_dynamicProperties.ToEdmProperties());
-
- if (!properties.Any())
- {
- return null;
- }
-
- return new EdmRecordExpression(properties);
+ return _immutable.HasValue ? new EdmBooleanConstant(_immutable.Value) : null;
}
}
}
diff --git a/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/IsLanguageDependentConfiguration.cs b/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/IsLanguageDependentConfiguration.cs
index 9aa8dfa..cd68883 100644
--- a/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/IsLanguageDependentConfiguration.cs
+++ b/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/IsLanguageDependentConfiguration.cs
@@ -16,24 +16,11 @@ namespace Microsoft.OData.ModelBuilder.Core.V1
///
public partial class IsLanguageDependentConfiguration : VocabularyTermConfiguration
{
- private readonly Dictionary _dynamicProperties = new Dictionary();
private bool? _isLanguageDependent;
///
public override string TermName => "Org.OData.Core.V1.IsLanguageDependent";
- ///
- /// Dynamic properties.
- ///
- /// The name to set
- /// The value to set
- ///
- public IsLanguageDependentConfiguration HasDynamicProperty(string name, object value)
- {
- _dynamicProperties[name] = value;
- return this;
- }
-
///
/// Properties and terms annotated with this term are language-dependent
///
@@ -48,21 +35,7 @@ public IsLanguageDependentConfiguration IsIsLanguageDependent(bool isLanguageDep
///
public override IEdmExpression ToEdmExpression()
{
- var properties = new List();
-
- if (_isLanguageDependent.HasValue)
- {
- properties.Add(new EdmPropertyConstructor("IsLanguageDependent", new EdmBooleanConstant(_isLanguageDependent.Value)));
- }
-
- properties.AddRange(_dynamicProperties.ToEdmProperties());
-
- if (!properties.Any())
- {
- return null;
- }
-
- return new EdmRecordExpression(properties);
+ return _isLanguageDependent.HasValue ? new EdmBooleanConstant(_isLanguageDependent.Value) : null;
}
}
}
diff --git a/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/IsMediaTypeConfiguration.cs b/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/IsMediaTypeConfiguration.cs
index 82edc64..67c6881 100644
--- a/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/IsMediaTypeConfiguration.cs
+++ b/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/IsMediaTypeConfiguration.cs
@@ -16,24 +16,11 @@ namespace Microsoft.OData.ModelBuilder.Core.V1
///
public partial class IsMediaTypeConfiguration : VocabularyTermConfiguration
{
- private readonly Dictionary _dynamicProperties = new Dictionary();
private bool? _isMediaType;
///
public override string TermName => "Org.OData.Core.V1.IsMediaType";
- ///
- /// Dynamic properties.
- ///
- /// The name to set
- /// The value to set
- ///
- public IsMediaTypeConfiguration HasDynamicProperty(string name, object value)
- {
- _dynamicProperties[name] = value;
- return this;
- }
-
///
/// Properties and terms annotated with this term MUST contain a valid MIME type
///
@@ -48,21 +35,7 @@ public IsMediaTypeConfiguration IsIsMediaType(bool isMediaType)
///
public override IEdmExpression ToEdmExpression()
{
- var properties = new List();
-
- if (_isMediaType.HasValue)
- {
- properties.Add(new EdmPropertyConstructor("IsMediaType", new EdmBooleanConstant(_isMediaType.Value)));
- }
-
- properties.AddRange(_dynamicProperties.ToEdmProperties());
-
- if (!properties.Any())
- {
- return null;
- }
-
- return new EdmRecordExpression(properties);
+ return _isMediaType.HasValue ? new EdmBooleanConstant(_isMediaType.Value) : null;
}
}
}
diff --git a/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/IsURLConfiguration.cs b/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/IsURLConfiguration.cs
index c2902c5..e4f6f77 100644
--- a/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/IsURLConfiguration.cs
+++ b/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/IsURLConfiguration.cs
@@ -16,24 +16,11 @@ namespace Microsoft.OData.ModelBuilder.Core.V1
///
public partial class IsURLConfiguration : VocabularyTermConfiguration
{
- private readonly Dictionary _dynamicProperties = new Dictionary();
private bool? _isURL;
///
public override string TermName => "Org.OData.Core.V1.IsURL";
- ///
- /// Dynamic properties.
- ///
- /// The name to set
- /// The value to set
- ///
- public IsURLConfiguration HasDynamicProperty(string name, object value)
- {
- _dynamicProperties[name] = value;
- return this;
- }
-
///
/// Properties and terms annotated with this term MUST contain a valid URL
///
@@ -48,21 +35,7 @@ public IsURLConfiguration IsIsURL(bool isURL)
///
public override IEdmExpression ToEdmExpression()
{
- var properties = new List();
-
- if (_isURL.HasValue)
- {
- properties.Add(new EdmPropertyConstructor("IsURL", new EdmBooleanConstant(_isURL.Value)));
- }
-
- properties.AddRange(_dynamicProperties.ToEdmProperties());
-
- if (!properties.Any())
- {
- return null;
- }
-
- return new EdmRecordExpression(properties);
+ return _isURL.HasValue ? new EdmBooleanConstant(_isURL.Value) : null;
}
}
}
diff --git a/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/LongDescriptionConfiguration.cs b/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/LongDescriptionConfiguration.cs
index 6fabbe9..8509526 100644
--- a/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/LongDescriptionConfiguration.cs
+++ b/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/LongDescriptionConfiguration.cs
@@ -16,24 +16,11 @@ namespace Microsoft.OData.ModelBuilder.Core.V1
///
public partial class LongDescriptionConfiguration : VocabularyTermConfiguration
{
- private readonly Dictionary _dynamicProperties = new Dictionary();
private string _longDescription;
///
public override string TermName => "Org.OData.Core.V1.LongDescription";
- ///
- /// Dynamic properties.
- ///
- /// The name to set
- /// The value to set
- ///
- public LongDescriptionConfiguration HasDynamicProperty(string name, object value)
- {
- _dynamicProperties[name] = value;
- return this;
- }
-
///
/// A lengthy description of a model element
///
@@ -48,21 +35,7 @@ public LongDescriptionConfiguration HasLongDescription(string longDescription)
///
public override IEdmExpression ToEdmExpression()
{
- var properties = new List();
-
- if (!string.IsNullOrEmpty(_longDescription))
- {
- properties.Add(new EdmPropertyConstructor("LongDescription", new EdmStringConstant(_longDescription)));
- }
-
- properties.AddRange(_dynamicProperties.ToEdmProperties());
-
- if (!properties.Any())
- {
- return null;
- }
-
- return new EdmRecordExpression(properties);
+ return new EdmStringConstant(_longDescription);
}
}
}
diff --git a/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/MediaTypeConfiguration.cs b/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/MediaTypeConfiguration.cs
index c1ade17..567e49f 100644
--- a/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/MediaTypeConfiguration.cs
+++ b/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/MediaTypeConfiguration.cs
@@ -16,24 +16,11 @@ namespace Microsoft.OData.ModelBuilder.Core.V1
///
public partial class MediaTypeConfiguration : VocabularyTermConfiguration
{
- private readonly Dictionary _dynamicProperties = new Dictionary();
private string _mediaType;
///
public override string TermName => "Org.OData.Core.V1.MediaType";
- ///
- /// Dynamic properties.
- ///
- /// The name to set
- /// The value to set
- ///
- public MediaTypeConfiguration HasDynamicProperty(string name, object value)
- {
- _dynamicProperties[name] = value;
- return this;
- }
-
///
/// The media type of a binary resource
///
@@ -48,21 +35,7 @@ public MediaTypeConfiguration HasMediaType(string mediaType)
///
public override IEdmExpression ToEdmExpression()
{
- var properties = new List();
-
- if (!string.IsNullOrEmpty(_mediaType))
- {
- properties.Add(new EdmPropertyConstructor("MediaType", new EdmStringConstant(_mediaType)));
- }
-
- properties.AddRange(_dynamicProperties.ToEdmProperties());
-
- if (!properties.Any())
- {
- return null;
- }
-
- return new EdmRecordExpression(properties);
+ return new EdmStringConstant(_mediaType);
}
}
}
diff --git a/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/ODataVersionsConfiguration.cs b/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/ODataVersionsConfiguration.cs
index 6bb8642..135b9a6 100644
--- a/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/ODataVersionsConfiguration.cs
+++ b/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/ODataVersionsConfiguration.cs
@@ -16,24 +16,11 @@ namespace Microsoft.OData.ModelBuilder.Core.V1
///
public partial class ODataVersionsConfiguration : VocabularyTermConfiguration
{
- private readonly Dictionary _dynamicProperties = new Dictionary();
private string _oDataVersions;
///
public override string TermName => "Org.OData.Core.V1.ODataVersions";
- ///
- /// Dynamic properties.
- ///
- /// The name to set
- /// The value to set
- ///
- public ODataVersionsConfiguration HasDynamicProperty(string name, object value)
- {
- _dynamicProperties[name] = value;
- return this;
- }
-
///
/// A space-separated list of supported versions of the OData Protocol. Note that 4.0 is implied by 4.01 and does not need to be separately listed.
///
@@ -48,21 +35,7 @@ public ODataVersionsConfiguration HasODataVersions(string oDataVersions)
///
public override IEdmExpression ToEdmExpression()
{
- var properties = new List();
-
- if (!string.IsNullOrEmpty(_oDataVersions))
- {
- properties.Add(new EdmPropertyConstructor("ODataVersions", new EdmStringConstant(_oDataVersions)));
- }
-
- properties.AddRange(_dynamicProperties.ToEdmProperties());
-
- if (!properties.Any())
- {
- return null;
- }
-
- return new EdmRecordExpression(properties);
+ return new EdmStringConstant(_oDataVersions);
}
}
}
diff --git a/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/OperationAvailableConfiguration.cs b/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/OperationAvailableConfiguration.cs
index 274a652..1d0917f 100644
--- a/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/OperationAvailableConfiguration.cs
+++ b/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/OperationAvailableConfiguration.cs
@@ -17,24 +17,11 @@ namespace Microsoft.OData.ModelBuilder.Core.V1
///
public partial class OperationAvailableConfiguration : VocabularyTermConfiguration
{
- private readonly Dictionary _dynamicProperties = new Dictionary();
private bool? _operationAvailable;
///
public override string TermName => "Org.OData.Core.V1.OperationAvailable";
- ///
- /// Dynamic properties.
- ///
- /// The name to set
- /// The value to set
- ///
- public OperationAvailableConfiguration HasDynamicProperty(string name, object value)
- {
- _dynamicProperties[name] = value;
- return this;
- }
-
///
/// Action or function is available
/// The annotation value will usually be an expression, e.g. using properties of the binding parameter type for instance-dependent availability, or using properties of a singleton for global availability. The static value `null` means that availability cannot be determined upfront and is instead expressed as an operation advertisement.
@@ -50,21 +37,7 @@ public OperationAvailableConfiguration IsOperationAvailable(bool operationAvaila
///
public override IEdmExpression ToEdmExpression()
{
- var properties = new List();
-
- if (_operationAvailable.HasValue)
- {
- properties.Add(new EdmPropertyConstructor("OperationAvailable", new EdmBooleanConstant(_operationAvailable.Value)));
- }
-
- properties.AddRange(_dynamicProperties.ToEdmProperties());
-
- if (!properties.Any())
- {
- return null;
- }
-
- return new EdmRecordExpression(properties);
+ return _operationAvailable.HasValue ? new EdmBooleanConstant(_operationAvailable.Value) : null;
}
}
}
diff --git a/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/OrderedConfiguration.cs b/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/OrderedConfiguration.cs
index 5cb9d0d..4650dfc 100644
--- a/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/OrderedConfiguration.cs
+++ b/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/OrderedConfiguration.cs
@@ -16,24 +16,11 @@ namespace Microsoft.OData.ModelBuilder.Core.V1
///
public partial class OrderedConfiguration : VocabularyTermConfiguration
{
- private readonly Dictionary _dynamicProperties = new Dictionary();
private bool? _ordered;
///
public override string TermName => "Org.OData.Core.V1.Ordered";
- ///
- /// Dynamic properties.
- ///
- /// The name to set
- /// The value to set
- ///
- public OrderedConfiguration HasDynamicProperty(string name, object value)
- {
- _dynamicProperties[name] = value;
- return this;
- }
-
///
/// Collection has a stable order. Ordered collections of primitive or complex types can be indexed by ordinal.
///
@@ -48,21 +35,7 @@ public OrderedConfiguration IsOrdered(bool ordered)
///
public override IEdmExpression ToEdmExpression()
{
- var properties = new List();
-
- if (_ordered.HasValue)
- {
- properties.Add(new EdmPropertyConstructor("Ordered", new EdmBooleanConstant(_ordered.Value)));
- }
-
- properties.AddRange(_dynamicProperties.ToEdmProperties());
-
- if (!properties.Any())
- {
- return null;
- }
-
- return new EdmRecordExpression(properties);
+ return _ordered.HasValue ? new EdmBooleanConstant(_ordered.Value) : null;
}
}
}
diff --git a/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/PositionalInsertConfiguration.cs b/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/PositionalInsertConfiguration.cs
index b8da844..75e9395 100644
--- a/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/PositionalInsertConfiguration.cs
+++ b/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/PositionalInsertConfiguration.cs
@@ -16,24 +16,11 @@ namespace Microsoft.OData.ModelBuilder.Core.V1
///
public partial class PositionalInsertConfiguration : VocabularyTermConfiguration
{
- private readonly Dictionary _dynamicProperties = new Dictionary();
private bool? _positionalInsert;
///
public override string TermName => "Org.OData.Core.V1.PositionalInsert";
- ///
- /// Dynamic properties.
- ///
- /// The name to set
- /// The value to set
- ///
- public PositionalInsertConfiguration HasDynamicProperty(string name, object value)
- {
- _dynamicProperties[name] = value;
- return this;
- }
-
///
/// Items can be inserted at a given ordinal index.
///
@@ -48,21 +35,7 @@ public PositionalInsertConfiguration IsPositionalInsert(bool positionalInsert)
///
public override IEdmExpression ToEdmExpression()
{
- var properties = new List();
-
- if (_positionalInsert.HasValue)
- {
- properties.Add(new EdmPropertyConstructor("PositionalInsert", new EdmBooleanConstant(_positionalInsert.Value)));
- }
-
- properties.AddRange(_dynamicProperties.ToEdmProperties());
-
- if (!properties.Any())
- {
- return null;
- }
-
- return new EdmRecordExpression(properties);
+ return _positionalInsert.HasValue ? new EdmBooleanConstant(_positionalInsert.Value) : null;
}
}
}
diff --git a/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/RequiresTypeConfiguration.cs b/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/RequiresTypeConfiguration.cs
index 8e51e83..0730f73 100644
--- a/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/RequiresTypeConfiguration.cs
+++ b/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/RequiresTypeConfiguration.cs
@@ -16,24 +16,11 @@ namespace Microsoft.OData.ModelBuilder.Core.V1
///
public partial class RequiresTypeConfiguration : VocabularyTermConfiguration
{
- private readonly Dictionary _dynamicProperties = new Dictionary();
private string _requiresType;
///
public override string TermName => "Org.OData.Core.V1.RequiresType";
- ///
- /// Dynamic properties.
- ///
- /// The name to set
- /// The value to set
- ///
- public RequiresTypeConfiguration HasDynamicProperty(string name, object value)
- {
- _dynamicProperties[name] = value;
- return this;
- }
-
///
/// Terms annotated with this term can only be applied to elements that have a type that is identical to or derived from the given type name
///
@@ -48,21 +35,7 @@ public RequiresTypeConfiguration HasRequiresType(string requiresType)
///
public override IEdmExpression ToEdmExpression()
{
- var properties = new List();
-
- if (!string.IsNullOrEmpty(_requiresType))
- {
- properties.Add(new EdmPropertyConstructor("RequiresType", new EdmStringConstant(_requiresType)));
- }
-
- properties.AddRange(_dynamicProperties.ToEdmProperties());
-
- if (!properties.Any())
- {
- return null;
- }
-
- return new EdmRecordExpression(properties);
+ return new EdmStringConstant(_requiresType);
}
}
}
diff --git a/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/ResourcePathConfiguration.cs b/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/ResourcePathConfiguration.cs
index 124b157..7967428 100644
--- a/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/ResourcePathConfiguration.cs
+++ b/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/ResourcePathConfiguration.cs
@@ -16,24 +16,11 @@ namespace Microsoft.OData.ModelBuilder.Core.V1
///
public partial class ResourcePathConfiguration : VocabularyTermConfiguration
{
- private readonly Dictionary _dynamicProperties = new Dictionary();
private string _resourcePath;
///
public override string TermName => "Org.OData.Core.V1.ResourcePath";
- ///
- /// Dynamic properties.
- ///
- /// The name to set
- /// The value to set
- ///
- public ResourcePathConfiguration HasDynamicProperty(string name, object value)
- {
- _dynamicProperties[name] = value;
- return this;
- }
-
///
/// Resource path for entity container child, can be relative to xml:base and the request URL
///
@@ -48,21 +35,7 @@ public ResourcePathConfiguration HasResourcePath(string resourcePath)
///
public override IEdmExpression ToEdmExpression()
{
- var properties = new List();
-
- if (!string.IsNullOrEmpty(_resourcePath))
- {
- properties.Add(new EdmPropertyConstructor("ResourcePath", new EdmStringConstant(_resourcePath)));
- }
-
- properties.AddRange(_dynamicProperties.ToEdmProperties());
-
- if (!properties.Any())
- {
- return null;
- }
-
- return new EdmRecordExpression(properties);
+ return new EdmStringConstant(_resourcePath);
}
}
}
diff --git a/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/SchemaVersionConfiguration.cs b/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/SchemaVersionConfiguration.cs
index f4ca28c..c654a95 100644
--- a/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/SchemaVersionConfiguration.cs
+++ b/src/Microsoft.OData.ModelBuilder/Vocabularies/Core/V1/SchemaVersionConfiguration.cs
@@ -16,24 +16,11 @@ namespace Microsoft.OData.ModelBuilder.Core.V1
///
public partial class SchemaVersionConfiguration : VocabularyTermConfiguration
{
- private readonly Dictionary _dynamicProperties = new Dictionary();
private string _schemaVersion;
///
public override string TermName => "Org.OData.Core.V1.SchemaVersion";
- ///
- /// Dynamic properties.
- ///
- /// The name to set
- /// The value to set
- ///
- public SchemaVersionConfiguration HasDynamicProperty(string name, object value)
- {
- _dynamicProperties[name] = value;
- return this;
- }
-
///
/// Service-defined value representing the version of the schema. Services MAY use semantic versioning, but clients MUST NOT assume this is the case.
///
@@ -48,21 +35,7 @@ public SchemaVersionConfiguration HasSchemaVersion(string schemaVersion)
///
public override IEdmExpression ToEdmExpression()
{
- var properties = new List();
-
- if (!string.IsNullOrEmpty(_schemaVersion))
- {
- properties.Add(new EdmPropertyConstructor("SchemaVersion", new EdmStringConstant(_schemaVersion)));
- }
-
- properties.AddRange(_dynamicProperties.ToEdmProperties());
-
- if (!properties.Any())
- {
- return null;
- }
-
- return new EdmRecordExpression(properties);
+ return new EdmStringConstant(_schemaVersion);
}
}
}
diff --git a/src/Microsoft.OData.ModelBuilder/Vocabularies/VocabularyTermConfiguration.cs b/src/Microsoft.OData.ModelBuilder/Vocabularies/VocabularyTermConfiguration.cs
index 5320150..e1c33b2 100644
--- a/src/Microsoft.OData.ModelBuilder/Vocabularies/VocabularyTermConfiguration.cs
+++ b/src/Microsoft.OData.ModelBuilder/Vocabularies/VocabularyTermConfiguration.cs
@@ -3,6 +3,7 @@
using System;
using Microsoft.OData.Edm;
+using Microsoft.OData.Edm.Csdl;
using Microsoft.OData.Edm.Vocabularies;
namespace Microsoft.OData.ModelBuilder
@@ -12,6 +13,11 @@ namespace Microsoft.OData.ModelBuilder
///
public abstract partial class VocabularyTermConfiguration : IRecord
{
+ ///
+ /// Gets or sets the vocabulary annotation location.
+ ///
+ public EdmVocabularyAnnotationSerializationLocation Location { get; set; } = EdmVocabularyAnnotationSerializationLocation.OutOfLine;
+
///
/// The name of the to build.
///
@@ -43,6 +49,7 @@ public virtual void SetVocabularyAnnotations(EdmModel model, IEdmVocabularyAnnot
}
var annotation = new EdmVocabularyAnnotation(target, term, expression);
+ annotation.SetSerializationLocation(model, Location);
model.SetVocabularyAnnotation(annotation);
}
}
diff --git a/src/Microsoft.OData.ModelBuilder/Vocabularies/VocabularyTermConfigurationExtensions.tt b/src/Microsoft.OData.ModelBuilder/Vocabularies/VocabularyTermConfigurationExtensions.tt
index 26f1c54..8cc8d8c 100644
--- a/src/Microsoft.OData.ModelBuilder/Vocabularies/VocabularyTermConfigurationExtensions.tt
+++ b/src/Microsoft.OData.ModelBuilder/Vocabularies/VocabularyTermConfigurationExtensions.tt
@@ -390,6 +390,59 @@ namespace <#= @namespace #>
return new EdmCollectionExpression(records);
<#+
}
+ else if (term.Type.Definition.TypeKind == EdmTypeKind.TypeDefinition || term.Type.Definition.TypeKind == EdmTypeKind.Primitive)
+ {
+ var fullTypeName = actualType.AsActualType().FullTypeName();
+ var fullName = term.FullName();
+ var name = fullName.Substring(fullName.LastIndexOf('.') + 1);
+ var camelName = $"{CamelCase(name)}";
+ if (fullTypeName == "Edm.String")
+ {
+#>
+ return new EdmStringConstant(_<#= camelName #>);
+<#+
+ }
+ else if (fullTypeName == "Edm.PrimitiveType")
+ {
+#>
+ return _<#= camelName #> != null ? new EdmStringConstant(_<#= camelName #>.ToString()) : null;
+
+<#+
+ }
+ else if (fullTypeName == "Edm.Int32")
+ {
+#>
+ return _<#= camelName #>.HasValue ? new EdmIntegerConstant(_<#= camelName #>.Value) : null;
+<#+
+ }
+
+ else if (fullTypeName == "Edm.Int16")
+ {
+#>
+ return _<#= camelName #>.HasValue ? new EdmIntegerConstant(_<#= camelName #>.Value) : null;
+<#+
+ }
+ else if (fullTypeName == "Edm.Boolean")
+ {
+#>
+ return _<#= camelName #>.HasValue ? new EdmBooleanConstant(_<#= camelName #>.Value) : null;
+<#+
+ }
+ else
+ {
+ var edmTypeConstant = fullTypeName.Replace(".", string.Empty) + "Constant";
+#>
+ if (_<#= camelName #>.HasValue)
+ {
+ return new <#= edmTypeConstant#>(_<#= camelName #>.Value);
+ }
+ else
+ {
+ return null;
+ }
+<#+
+ }
+ }
else
{
#>
@@ -565,13 +618,6 @@ using Microsoft.OData.Edm.Vocabularies;
{
#>
private readonly Dictionary _dynamicProperties = new Dictionary();
-<#+
- }
-
- if(actualType.TypeKind == EdmTypeKind.Primitive && returnType == expectedReturnType)
- {
-#>
- private readonly Dictionary _dynamicProperties = new Dictionary();
<#+
}
#>
@@ -675,24 +721,6 @@ using Microsoft.OData.Edm.Vocabularies;
}
}
- if(actualType.TypeKind == EdmTypeKind.Primitive && returnType == expectedReturnType)
- {
-#>
-
- ///
- /// Dynamic properties.
- ///
- /// The name to set
- /// The value to set
- ///
- public <#= returnType #> HasDynamicProperty(string name, object value)
- {
- _dynamicProperties[name] = value;
- return this;
- }
-<#+
- }
-
var methodPrefix = "Has";
if (clrType == "bool")
{
diff --git a/test/Microsoft.OData.ModelBuilder.Tests/PublicApi/Microsoft.OData.ModelBuilder.PublicApi.bsl b/test/Microsoft.OData.ModelBuilder.Tests/PublicApi/Microsoft.OData.ModelBuilder.PublicApi.bsl
index 9291b8d..6420a02 100644
--- a/test/Microsoft.OData.ModelBuilder.Tests/PublicApi/Microsoft.OData.ModelBuilder.PublicApi.bsl
+++ b/test/Microsoft.OData.ModelBuilder.Tests/PublicApi/Microsoft.OData.ModelBuilder.PublicApi.bsl
@@ -322,6 +322,7 @@ public abstract class Microsoft.OData.ModelBuilder.StructuralTypeConfiguration`1
public abstract class Microsoft.OData.ModelBuilder.VocabularyTermConfiguration : IRecord {
protected VocabularyTermConfiguration ()
+ Microsoft.OData.Edm.Csdl.EdmVocabularyAnnotationSerializationLocation Location { public get; public set; }
string TermName { public abstract get; }
public virtual void SetVocabularyAnnotations (Microsoft.OData.Edm.EdmModel model, Microsoft.OData.Edm.Vocabularies.IEdmVocabularyAnnotatable target)
@@ -1651,7 +1652,6 @@ public class Microsoft.OData.ModelBuilder.Capabilities.V1.AnnotationValuesInQuer
string TermName { public virtual get; }
- public Microsoft.OData.ModelBuilder.Capabilities.V1.AnnotationValuesInQuerySupportedConfiguration HasDynamicProperty (string name, object value)
public Microsoft.OData.ModelBuilder.Capabilities.V1.AnnotationValuesInQuerySupportedConfiguration IsAnnotationValuesInQuerySupported (bool annotationValuesInQuerySupported)
public virtual Microsoft.OData.Edm.IEdmExpression ToEdmExpression ()
}
@@ -1661,7 +1661,6 @@ public class Microsoft.OData.ModelBuilder.Capabilities.V1.AsynchronousRequestsSu
string TermName { public virtual get; }
- public Microsoft.OData.ModelBuilder.Capabilities.V1.AsynchronousRequestsSupportedConfiguration HasDynamicProperty (string name, object value)
public Microsoft.OData.ModelBuilder.Capabilities.V1.AsynchronousRequestsSupportedConfiguration IsAsynchronousRequestsSupported (bool asynchronousRequestsSupported)
public virtual Microsoft.OData.Edm.IEdmExpression ToEdmExpression ()
}
@@ -1671,7 +1670,6 @@ public class Microsoft.OData.ModelBuilder.Capabilities.V1.BatchContinueOnErrorSu
string TermName { public virtual get; }
- public Microsoft.OData.ModelBuilder.Capabilities.V1.BatchContinueOnErrorSupportedConfiguration HasDynamicProperty (string name, object value)
public Microsoft.OData.ModelBuilder.Capabilities.V1.BatchContinueOnErrorSupportedConfiguration IsBatchContinueOnErrorSupported (bool batchContinueOnErrorSupported)
public virtual Microsoft.OData.Edm.IEdmExpression ToEdmExpression ()
}
@@ -1697,7 +1695,6 @@ public class Microsoft.OData.ModelBuilder.Capabilities.V1.BatchSupportedConfigur
string TermName { public virtual get; }
- public Microsoft.OData.ModelBuilder.Capabilities.V1.BatchSupportedConfiguration HasDynamicProperty (string name, object value)
public Microsoft.OData.ModelBuilder.Capabilities.V1.BatchSupportedConfiguration IsBatchSupported (bool batchSupported)
public virtual Microsoft.OData.Edm.IEdmExpression ToEdmExpression ()
}
@@ -1772,7 +1769,6 @@ public class Microsoft.OData.ModelBuilder.Capabilities.V1.ComputeSupportedConfig
string TermName { public virtual get; }
- public Microsoft.OData.ModelBuilder.Capabilities.V1.ComputeSupportedConfiguration HasDynamicProperty (string name, object value)
public Microsoft.OData.ModelBuilder.Capabilities.V1.ComputeSupportedConfiguration IsComputeSupported (bool computeSupported)
public virtual Microsoft.OData.Edm.IEdmExpression ToEdmExpression ()
}
@@ -1803,7 +1799,6 @@ public class Microsoft.OData.ModelBuilder.Capabilities.V1.CrossJoinSupportedConf
string TermName { public virtual get; }
- public Microsoft.OData.ModelBuilder.Capabilities.V1.CrossJoinSupportedConfiguration HasDynamicProperty (string name, object value)
public Microsoft.OData.ModelBuilder.Capabilities.V1.CrossJoinSupportedConfiguration IsCrossJoinSupported (bool crossJoinSupported)
public virtual Microsoft.OData.Edm.IEdmExpression ToEdmExpression ()
}
@@ -1938,7 +1933,6 @@ public class Microsoft.OData.ModelBuilder.Capabilities.V1.IndexableByKeyConfigur
string TermName { public virtual get; }
- public Microsoft.OData.ModelBuilder.Capabilities.V1.IndexableByKeyConfiguration HasDynamicProperty (string name, object value)
public Microsoft.OData.ModelBuilder.Capabilities.V1.IndexableByKeyConfiguration IsIndexableByKey (bool indexableByKey)
public virtual Microsoft.OData.Edm.IEdmExpression ToEdmExpression ()
}
@@ -1982,7 +1976,6 @@ public class Microsoft.OData.ModelBuilder.Capabilities.V1.KeyAsSegmentSupportedC
string TermName { public virtual get; }
- public Microsoft.OData.ModelBuilder.Capabilities.V1.KeyAsSegmentSupportedConfiguration HasDynamicProperty (string name, object value)
public Microsoft.OData.ModelBuilder.Capabilities.V1.KeyAsSegmentSupportedConfiguration IsKeyAsSegmentSupported (bool keyAsSegmentSupported)
public virtual Microsoft.OData.Edm.IEdmExpression ToEdmExpression ()
}
@@ -1992,7 +1985,6 @@ public class Microsoft.OData.ModelBuilder.Capabilities.V1.MediaLocationUpdateSup
string TermName { public virtual get; }
- public Microsoft.OData.ModelBuilder.Capabilities.V1.MediaLocationUpdateSupportedConfiguration HasDynamicProperty (string name, object value)
public Microsoft.OData.ModelBuilder.Capabilities.V1.MediaLocationUpdateSupportedConfiguration IsMediaLocationUpdateSupported (bool mediaLocationUpdateSupported)
public virtual Microsoft.OData.Edm.IEdmExpression ToEdmExpression ()
}
@@ -2089,7 +2081,6 @@ public class Microsoft.OData.ModelBuilder.Capabilities.V1.QuerySegmentSupportedC
string TermName { public virtual get; }
- public Microsoft.OData.ModelBuilder.Capabilities.V1.QuerySegmentSupportedConfiguration HasDynamicProperty (string name, object value)
public Microsoft.OData.ModelBuilder.Capabilities.V1.QuerySegmentSupportedConfiguration IsQuerySegmentSupported (bool querySegmentSupported)
public virtual Microsoft.OData.Edm.IEdmExpression ToEdmExpression ()
}
@@ -2174,7 +2165,6 @@ public class Microsoft.OData.ModelBuilder.Capabilities.V1.SkipSupportedConfigura
string TermName { public virtual get; }
- public Microsoft.OData.ModelBuilder.Capabilities.V1.SkipSupportedConfiguration HasDynamicProperty (string name, object value)
public Microsoft.OData.ModelBuilder.Capabilities.V1.SkipSupportedConfiguration IsSkipSupported (bool skipSupported)
public virtual Microsoft.OData.Edm.IEdmExpression ToEdmExpression ()
}
@@ -2215,7 +2205,6 @@ public class Microsoft.OData.ModelBuilder.Capabilities.V1.TopSupportedConfigurat
string TermName { public virtual get; }
- public Microsoft.OData.ModelBuilder.Capabilities.V1.TopSupportedConfiguration HasDynamicProperty (string name, object value)
public Microsoft.OData.ModelBuilder.Capabilities.V1.TopSupportedConfiguration IsTopSupported (bool topSupported)
public virtual Microsoft.OData.Edm.IEdmExpression ToEdmExpression ()
}
@@ -2307,7 +2296,6 @@ public class Microsoft.OData.ModelBuilder.Core.V1.AdditionalPropertiesConfigurat
string TermName { public virtual get; }
- public Microsoft.OData.ModelBuilder.Core.V1.AdditionalPropertiesConfiguration HasDynamicProperty (string name, object value)
public Microsoft.OData.ModelBuilder.Core.V1.AdditionalPropertiesConfiguration IsAdditionalProperties (bool additionalProperties)
public virtual Microsoft.OData.Edm.IEdmExpression ToEdmExpression ()
}
@@ -2336,7 +2324,6 @@ public class Microsoft.OData.ModelBuilder.Core.V1.AutoExpandConfiguration : Micr
string TermName { public virtual get; }
- public Microsoft.OData.ModelBuilder.Core.V1.AutoExpandConfiguration HasDynamicProperty (string name, object value)
public Microsoft.OData.ModelBuilder.Core.V1.AutoExpandConfiguration IsAutoExpand (bool autoExpand)
public virtual Microsoft.OData.Edm.IEdmExpression ToEdmExpression ()
}
@@ -2346,7 +2333,6 @@ public class Microsoft.OData.ModelBuilder.Core.V1.AutoExpandReferencesConfigurat
string TermName { public virtual get; }
- public Microsoft.OData.ModelBuilder.Core.V1.AutoExpandReferencesConfiguration HasDynamicProperty (string name, object value)
public Microsoft.OData.ModelBuilder.Core.V1.AutoExpandReferencesConfiguration IsAutoExpandReferences (bool autoExpandReferences)
public virtual Microsoft.OData.Edm.IEdmExpression ToEdmExpression ()
}
@@ -2356,7 +2342,6 @@ public class Microsoft.OData.ModelBuilder.Core.V1.ComputedConfiguration : Micros
string TermName { public virtual get; }
- public Microsoft.OData.ModelBuilder.Core.V1.ComputedConfiguration HasDynamicProperty (string name, object value)
public Microsoft.OData.ModelBuilder.Core.V1.ComputedConfiguration IsComputed (bool computed)
public virtual Microsoft.OData.Edm.IEdmExpression ToEdmExpression ()
}
@@ -2366,7 +2351,6 @@ public class Microsoft.OData.ModelBuilder.Core.V1.ComputedDefaultValueConfigurat
string TermName { public virtual get; }
- public Microsoft.OData.ModelBuilder.Core.V1.ComputedDefaultValueConfiguration HasDynamicProperty (string name, object value)
public Microsoft.OData.ModelBuilder.Core.V1.ComputedDefaultValueConfiguration IsComputedDefaultValue (bool computedDefaultValue)
public virtual Microsoft.OData.Edm.IEdmExpression ToEdmExpression ()
}
@@ -2377,7 +2361,6 @@ public class Microsoft.OData.ModelBuilder.Core.V1.ContentIDConfiguration : Micro
string TermName { public virtual get; }
public Microsoft.OData.ModelBuilder.Core.V1.ContentIDConfiguration HasContentID (string contentID)
- public Microsoft.OData.ModelBuilder.Core.V1.ContentIDConfiguration HasDynamicProperty (string name, object value)
public virtual Microsoft.OData.Edm.IEdmExpression ToEdmExpression ()
}
@@ -2386,7 +2369,6 @@ public class Microsoft.OData.ModelBuilder.Core.V1.ConventionalIDsConfiguration :
string TermName { public virtual get; }
- public Microsoft.OData.ModelBuilder.Core.V1.ConventionalIDsConfiguration HasDynamicProperty (string name, object value)
public Microsoft.OData.ModelBuilder.Core.V1.ConventionalIDsConfiguration IsConventionalIDs (bool conventionalIDs)
public virtual Microsoft.OData.Edm.IEdmExpression ToEdmExpression ()
}
@@ -2409,7 +2391,6 @@ public class Microsoft.OData.ModelBuilder.Core.V1.DefaultNamespaceConfiguration
string TermName { public virtual get; }
- public Microsoft.OData.ModelBuilder.Core.V1.DefaultNamespaceConfiguration HasDynamicProperty (string name, object value)
public Microsoft.OData.ModelBuilder.Core.V1.DefaultNamespaceConfiguration IsDefaultNamespace (bool defaultNamespace)
public virtual Microsoft.OData.Edm.IEdmExpression ToEdmExpression ()
}
@@ -2419,7 +2400,6 @@ public class Microsoft.OData.ModelBuilder.Core.V1.DereferenceableIDsConfiguratio
string TermName { public virtual get; }
- public Microsoft.OData.ModelBuilder.Core.V1.DereferenceableIDsConfiguration HasDynamicProperty (string name, object value)
public Microsoft.OData.ModelBuilder.Core.V1.DereferenceableIDsConfiguration IsDereferenceableIDs (bool dereferenceableIDs)
public virtual Microsoft.OData.Edm.IEdmExpression ToEdmExpression ()
}
@@ -2430,7 +2410,6 @@ public class Microsoft.OData.ModelBuilder.Core.V1.DescriptionConfiguration : Mic
string TermName { public virtual get; }
public Microsoft.OData.ModelBuilder.Core.V1.DescriptionConfiguration HasDescription (string description)
- public Microsoft.OData.ModelBuilder.Core.V1.DescriptionConfiguration HasDynamicProperty (string name, object value)
public virtual Microsoft.OData.Edm.IEdmExpression ToEdmExpression ()
}
@@ -2449,7 +2428,6 @@ public class Microsoft.OData.ModelBuilder.Core.V1.ImmutableConfiguration : Micro
string TermName { public virtual get; }
- public Microsoft.OData.ModelBuilder.Core.V1.ImmutableConfiguration HasDynamicProperty (string name, object value)
public Microsoft.OData.ModelBuilder.Core.V1.ImmutableConfiguration IsImmutable (bool immutable)
public virtual Microsoft.OData.Edm.IEdmExpression ToEdmExpression ()
}
@@ -2459,7 +2437,6 @@ public class Microsoft.OData.ModelBuilder.Core.V1.IsLanguageDependentConfigurati
string TermName { public virtual get; }
- public Microsoft.OData.ModelBuilder.Core.V1.IsLanguageDependentConfiguration HasDynamicProperty (string name, object value)
public Microsoft.OData.ModelBuilder.Core.V1.IsLanguageDependentConfiguration IsIsLanguageDependent (bool isLanguageDependent)
public virtual Microsoft.OData.Edm.IEdmExpression ToEdmExpression ()
}
@@ -2469,7 +2446,6 @@ public class Microsoft.OData.ModelBuilder.Core.V1.IsMediaTypeConfiguration : Mic
string TermName { public virtual get; }
- public Microsoft.OData.ModelBuilder.Core.V1.IsMediaTypeConfiguration HasDynamicProperty (string name, object value)
public Microsoft.OData.ModelBuilder.Core.V1.IsMediaTypeConfiguration IsIsMediaType (bool isMediaType)
public virtual Microsoft.OData.Edm.IEdmExpression ToEdmExpression ()
}
@@ -2479,7 +2455,6 @@ public class Microsoft.OData.ModelBuilder.Core.V1.IsURLConfiguration : Microsoft
string TermName { public virtual get; }
- public Microsoft.OData.ModelBuilder.Core.V1.IsURLConfiguration HasDynamicProperty (string name, object value)
public Microsoft.OData.ModelBuilder.Core.V1.IsURLConfiguration IsIsURL (bool isURL)
public virtual Microsoft.OData.Edm.IEdmExpression ToEdmExpression ()
}
@@ -2508,7 +2483,6 @@ public class Microsoft.OData.ModelBuilder.Core.V1.LongDescriptionConfiguration :
string TermName { public virtual get; }
- public Microsoft.OData.ModelBuilder.Core.V1.LongDescriptionConfiguration HasDynamicProperty (string name, object value)
public Microsoft.OData.ModelBuilder.Core.V1.LongDescriptionConfiguration HasLongDescription (string longDescription)
public virtual Microsoft.OData.Edm.IEdmExpression ToEdmExpression ()
}
@@ -2527,7 +2501,6 @@ public class Microsoft.OData.ModelBuilder.Core.V1.MediaTypeConfiguration : Micro
string TermName { public virtual get; }
- public Microsoft.OData.ModelBuilder.Core.V1.MediaTypeConfiguration HasDynamicProperty (string name, object value)
public Microsoft.OData.ModelBuilder.Core.V1.MediaTypeConfiguration HasMediaType (string mediaType)
public virtual Microsoft.OData.Edm.IEdmExpression ToEdmExpression ()
}
@@ -2560,7 +2533,6 @@ public class Microsoft.OData.ModelBuilder.Core.V1.ODataVersionsConfiguration : M
string TermName { public virtual get; }
- public Microsoft.OData.ModelBuilder.Core.V1.ODataVersionsConfiguration HasDynamicProperty (string name, object value)
public Microsoft.OData.ModelBuilder.Core.V1.ODataVersionsConfiguration HasODataVersions (string oDataVersions)
public virtual Microsoft.OData.Edm.IEdmExpression ToEdmExpression ()
}
@@ -2570,7 +2542,6 @@ public class Microsoft.OData.ModelBuilder.Core.V1.OperationAvailableConfiguratio
string TermName { public virtual get; }
- public Microsoft.OData.ModelBuilder.Core.V1.OperationAvailableConfiguration HasDynamicProperty (string name, object value)
public Microsoft.OData.ModelBuilder.Core.V1.OperationAvailableConfiguration IsOperationAvailable (bool operationAvailable)
public virtual Microsoft.OData.Edm.IEdmExpression ToEdmExpression ()
}
@@ -2599,7 +2570,6 @@ public class Microsoft.OData.ModelBuilder.Core.V1.OrderedConfiguration : Microso
string TermName { public virtual get; }
- public Microsoft.OData.ModelBuilder.Core.V1.OrderedConfiguration HasDynamicProperty (string name, object value)
public Microsoft.OData.ModelBuilder.Core.V1.OrderedConfiguration IsOrdered (bool ordered)
public virtual Microsoft.OData.Edm.IEdmExpression ToEdmExpression ()
}
@@ -2618,7 +2588,6 @@ public class Microsoft.OData.ModelBuilder.Core.V1.PositionalInsertConfiguration
string TermName { public virtual get; }
- public Microsoft.OData.ModelBuilder.Core.V1.PositionalInsertConfiguration HasDynamicProperty (string name, object value)
public Microsoft.OData.ModelBuilder.Core.V1.PositionalInsertConfiguration IsPositionalInsert (bool positionalInsert)
public virtual Microsoft.OData.Edm.IEdmExpression ToEdmExpression ()
}
@@ -2646,7 +2615,6 @@ public class Microsoft.OData.ModelBuilder.Core.V1.RequiresTypeConfiguration : Mi
string TermName { public virtual get; }
- public Microsoft.OData.ModelBuilder.Core.V1.RequiresTypeConfiguration HasDynamicProperty (string name, object value)
public Microsoft.OData.ModelBuilder.Core.V1.RequiresTypeConfiguration HasRequiresType (string requiresType)
public virtual Microsoft.OData.Edm.IEdmExpression ToEdmExpression ()
}
@@ -2668,7 +2636,6 @@ public class Microsoft.OData.ModelBuilder.Core.V1.ResourcePathConfiguration : Mi
string TermName { public virtual get; }
- public Microsoft.OData.ModelBuilder.Core.V1.ResourcePathConfiguration HasDynamicProperty (string name, object value)
public Microsoft.OData.ModelBuilder.Core.V1.ResourcePathConfiguration HasResourcePath (string resourcePath)
public virtual Microsoft.OData.Edm.IEdmExpression ToEdmExpression ()
}
@@ -2698,7 +2665,6 @@ public class Microsoft.OData.ModelBuilder.Core.V1.SchemaVersionConfiguration : M
string TermName { public virtual get; }
- public Microsoft.OData.ModelBuilder.Core.V1.SchemaVersionConfiguration HasDynamicProperty (string name, object value)
public Microsoft.OData.ModelBuilder.Core.V1.SchemaVersionConfiguration HasSchemaVersion (string schemaVersion)
public virtual Microsoft.OData.Edm.IEdmExpression ToEdmExpression ()
}
diff --git a/test/Microsoft.OData.ModelBuilder.Tests/PublicApi/Microsoft.OData.ModelBuilder.PublicApi.net60.bsl b/test/Microsoft.OData.ModelBuilder.Tests/PublicApi/Microsoft.OData.ModelBuilder.PublicApi.net60.bsl
index e2729ae..4fd6a35 100644
--- a/test/Microsoft.OData.ModelBuilder.Tests/PublicApi/Microsoft.OData.ModelBuilder.PublicApi.net60.bsl
+++ b/test/Microsoft.OData.ModelBuilder.Tests/PublicApi/Microsoft.OData.ModelBuilder.PublicApi.net60.bsl
@@ -324,6 +324,7 @@ public abstract class Microsoft.OData.ModelBuilder.StructuralTypeConfiguration`1
public abstract class Microsoft.OData.ModelBuilder.VocabularyTermConfiguration : IRecord {
protected VocabularyTermConfiguration ()
+ Microsoft.OData.Edm.Csdl.EdmVocabularyAnnotationSerializationLocation Location { public get; public set; }
string TermName { public abstract get; }
public virtual void SetVocabularyAnnotations (Microsoft.OData.Edm.EdmModel model, Microsoft.OData.Edm.Vocabularies.IEdmVocabularyAnnotatable target)
@@ -1653,7 +1654,6 @@ public class Microsoft.OData.ModelBuilder.Capabilities.V1.AnnotationValuesInQuer
string TermName { public virtual get; }
- public Microsoft.OData.ModelBuilder.Capabilities.V1.AnnotationValuesInQuerySupportedConfiguration HasDynamicProperty (string name, object value)
public Microsoft.OData.ModelBuilder.Capabilities.V1.AnnotationValuesInQuerySupportedConfiguration IsAnnotationValuesInQuerySupported (bool annotationValuesInQuerySupported)
public virtual Microsoft.OData.Edm.IEdmExpression ToEdmExpression ()
}
@@ -1663,7 +1663,6 @@ public class Microsoft.OData.ModelBuilder.Capabilities.V1.AsynchronousRequestsSu
string TermName { public virtual get; }
- public Microsoft.OData.ModelBuilder.Capabilities.V1.AsynchronousRequestsSupportedConfiguration HasDynamicProperty (string name, object value)
public Microsoft.OData.ModelBuilder.Capabilities.V1.AsynchronousRequestsSupportedConfiguration IsAsynchronousRequestsSupported (bool asynchronousRequestsSupported)
public virtual Microsoft.OData.Edm.IEdmExpression ToEdmExpression ()
}
@@ -1673,7 +1672,6 @@ public class Microsoft.OData.ModelBuilder.Capabilities.V1.BatchContinueOnErrorSu
string TermName { public virtual get; }
- public Microsoft.OData.ModelBuilder.Capabilities.V1.BatchContinueOnErrorSupportedConfiguration HasDynamicProperty (string name, object value)
public Microsoft.OData.ModelBuilder.Capabilities.V1.BatchContinueOnErrorSupportedConfiguration IsBatchContinueOnErrorSupported (bool batchContinueOnErrorSupported)
public virtual Microsoft.OData.Edm.IEdmExpression ToEdmExpression ()
}
@@ -1699,7 +1697,6 @@ public class Microsoft.OData.ModelBuilder.Capabilities.V1.BatchSupportedConfigur
string TermName { public virtual get; }
- public Microsoft.OData.ModelBuilder.Capabilities.V1.BatchSupportedConfiguration HasDynamicProperty (string name, object value)
public Microsoft.OData.ModelBuilder.Capabilities.V1.BatchSupportedConfiguration IsBatchSupported (bool batchSupported)
public virtual Microsoft.OData.Edm.IEdmExpression ToEdmExpression ()
}
@@ -1774,7 +1771,6 @@ public class Microsoft.OData.ModelBuilder.Capabilities.V1.ComputeSupportedConfig
string TermName { public virtual get; }
- public Microsoft.OData.ModelBuilder.Capabilities.V1.ComputeSupportedConfiguration HasDynamicProperty (string name, object value)
public Microsoft.OData.ModelBuilder.Capabilities.V1.ComputeSupportedConfiguration IsComputeSupported (bool computeSupported)
public virtual Microsoft.OData.Edm.IEdmExpression ToEdmExpression ()
}
@@ -1805,7 +1801,6 @@ public class Microsoft.OData.ModelBuilder.Capabilities.V1.CrossJoinSupportedConf
string TermName { public virtual get; }
- public Microsoft.OData.ModelBuilder.Capabilities.V1.CrossJoinSupportedConfiguration HasDynamicProperty (string name, object value)
public Microsoft.OData.ModelBuilder.Capabilities.V1.CrossJoinSupportedConfiguration IsCrossJoinSupported (bool crossJoinSupported)
public virtual Microsoft.OData.Edm.IEdmExpression ToEdmExpression ()
}
@@ -1940,7 +1935,6 @@ public class Microsoft.OData.ModelBuilder.Capabilities.V1.IndexableByKeyConfigur
string TermName { public virtual get; }
- public Microsoft.OData.ModelBuilder.Capabilities.V1.IndexableByKeyConfiguration HasDynamicProperty (string name, object value)
public Microsoft.OData.ModelBuilder.Capabilities.V1.IndexableByKeyConfiguration IsIndexableByKey (bool indexableByKey)
public virtual Microsoft.OData.Edm.IEdmExpression ToEdmExpression ()
}
@@ -1984,7 +1978,6 @@ public class Microsoft.OData.ModelBuilder.Capabilities.V1.KeyAsSegmentSupportedC
string TermName { public virtual get; }
- public Microsoft.OData.ModelBuilder.Capabilities.V1.KeyAsSegmentSupportedConfiguration HasDynamicProperty (string name, object value)
public Microsoft.OData.ModelBuilder.Capabilities.V1.KeyAsSegmentSupportedConfiguration IsKeyAsSegmentSupported (bool keyAsSegmentSupported)
public virtual Microsoft.OData.Edm.IEdmExpression ToEdmExpression ()
}
@@ -1994,7 +1987,6 @@ public class Microsoft.OData.ModelBuilder.Capabilities.V1.MediaLocationUpdateSup
string TermName { public virtual get; }
- public Microsoft.OData.ModelBuilder.Capabilities.V1.MediaLocationUpdateSupportedConfiguration HasDynamicProperty (string name, object value)
public Microsoft.OData.ModelBuilder.Capabilities.V1.MediaLocationUpdateSupportedConfiguration IsMediaLocationUpdateSupported (bool mediaLocationUpdateSupported)
public virtual Microsoft.OData.Edm.IEdmExpression ToEdmExpression ()
}
@@ -2091,7 +2083,6 @@ public class Microsoft.OData.ModelBuilder.Capabilities.V1.QuerySegmentSupportedC
string TermName { public virtual get; }
- public Microsoft.OData.ModelBuilder.Capabilities.V1.QuerySegmentSupportedConfiguration HasDynamicProperty (string name, object value)
public Microsoft.OData.ModelBuilder.Capabilities.V1.QuerySegmentSupportedConfiguration IsQuerySegmentSupported (bool querySegmentSupported)
public virtual Microsoft.OData.Edm.IEdmExpression ToEdmExpression ()
}
@@ -2176,7 +2167,6 @@ public class Microsoft.OData.ModelBuilder.Capabilities.V1.SkipSupportedConfigura
string TermName { public virtual get; }
- public Microsoft.OData.ModelBuilder.Capabilities.V1.SkipSupportedConfiguration HasDynamicProperty (string name, object value)
public Microsoft.OData.ModelBuilder.Capabilities.V1.SkipSupportedConfiguration IsSkipSupported (bool skipSupported)
public virtual Microsoft.OData.Edm.IEdmExpression ToEdmExpression ()
}
@@ -2217,7 +2207,6 @@ public class Microsoft.OData.ModelBuilder.Capabilities.V1.TopSupportedConfigurat
string TermName { public virtual get; }
- public Microsoft.OData.ModelBuilder.Capabilities.V1.TopSupportedConfiguration HasDynamicProperty (string name, object value)
public Microsoft.OData.ModelBuilder.Capabilities.V1.TopSupportedConfiguration IsTopSupported (bool topSupported)
public virtual Microsoft.OData.Edm.IEdmExpression ToEdmExpression ()
}
@@ -2309,7 +2298,6 @@ public class Microsoft.OData.ModelBuilder.Core.V1.AdditionalPropertiesConfigurat
string TermName { public virtual get; }
- public Microsoft.OData.ModelBuilder.Core.V1.AdditionalPropertiesConfiguration HasDynamicProperty (string name, object value)
public Microsoft.OData.ModelBuilder.Core.V1.AdditionalPropertiesConfiguration IsAdditionalProperties (bool additionalProperties)
public virtual Microsoft.OData.Edm.IEdmExpression ToEdmExpression ()
}
@@ -2338,7 +2326,6 @@ public class Microsoft.OData.ModelBuilder.Core.V1.AutoExpandConfiguration : Micr
string TermName { public virtual get; }
- public Microsoft.OData.ModelBuilder.Core.V1.AutoExpandConfiguration HasDynamicProperty (string name, object value)
public Microsoft.OData.ModelBuilder.Core.V1.AutoExpandConfiguration IsAutoExpand (bool autoExpand)
public virtual Microsoft.OData.Edm.IEdmExpression ToEdmExpression ()
}
@@ -2348,7 +2335,6 @@ public class Microsoft.OData.ModelBuilder.Core.V1.AutoExpandReferencesConfigurat
string TermName { public virtual get; }
- public Microsoft.OData.ModelBuilder.Core.V1.AutoExpandReferencesConfiguration HasDynamicProperty (string name, object value)
public Microsoft.OData.ModelBuilder.Core.V1.AutoExpandReferencesConfiguration IsAutoExpandReferences (bool autoExpandReferences)
public virtual Microsoft.OData.Edm.IEdmExpression ToEdmExpression ()
}
@@ -2358,7 +2344,6 @@ public class Microsoft.OData.ModelBuilder.Core.V1.ComputedConfiguration : Micros
string TermName { public virtual get; }
- public Microsoft.OData.ModelBuilder.Core.V1.ComputedConfiguration HasDynamicProperty (string name, object value)
public Microsoft.OData.ModelBuilder.Core.V1.ComputedConfiguration IsComputed (bool computed)
public virtual Microsoft.OData.Edm.IEdmExpression ToEdmExpression ()
}
@@ -2368,7 +2353,6 @@ public class Microsoft.OData.ModelBuilder.Core.V1.ComputedDefaultValueConfigurat
string TermName { public virtual get; }
- public Microsoft.OData.ModelBuilder.Core.V1.ComputedDefaultValueConfiguration HasDynamicProperty (string name, object value)
public Microsoft.OData.ModelBuilder.Core.V1.ComputedDefaultValueConfiguration IsComputedDefaultValue (bool computedDefaultValue)
public virtual Microsoft.OData.Edm.IEdmExpression ToEdmExpression ()
}
@@ -2379,7 +2363,6 @@ public class Microsoft.OData.ModelBuilder.Core.V1.ContentIDConfiguration : Micro
string TermName { public virtual get; }
public Microsoft.OData.ModelBuilder.Core.V1.ContentIDConfiguration HasContentID (string contentID)
- public Microsoft.OData.ModelBuilder.Core.V1.ContentIDConfiguration HasDynamicProperty (string name, object value)
public virtual Microsoft.OData.Edm.IEdmExpression ToEdmExpression ()
}
@@ -2388,7 +2371,6 @@ public class Microsoft.OData.ModelBuilder.Core.V1.ConventionalIDsConfiguration :
string TermName { public virtual get; }
- public Microsoft.OData.ModelBuilder.Core.V1.ConventionalIDsConfiguration HasDynamicProperty (string name, object value)
public Microsoft.OData.ModelBuilder.Core.V1.ConventionalIDsConfiguration IsConventionalIDs (bool conventionalIDs)
public virtual Microsoft.OData.Edm.IEdmExpression ToEdmExpression ()
}
@@ -2411,7 +2393,6 @@ public class Microsoft.OData.ModelBuilder.Core.V1.DefaultNamespaceConfiguration
string TermName { public virtual get; }
- public Microsoft.OData.ModelBuilder.Core.V1.DefaultNamespaceConfiguration HasDynamicProperty (string name, object value)
public Microsoft.OData.ModelBuilder.Core.V1.DefaultNamespaceConfiguration IsDefaultNamespace (bool defaultNamespace)
public virtual Microsoft.OData.Edm.IEdmExpression ToEdmExpression ()
}
@@ -2421,7 +2402,6 @@ public class Microsoft.OData.ModelBuilder.Core.V1.DereferenceableIDsConfiguratio
string TermName { public virtual get; }
- public Microsoft.OData.ModelBuilder.Core.V1.DereferenceableIDsConfiguration HasDynamicProperty (string name, object value)
public Microsoft.OData.ModelBuilder.Core.V1.DereferenceableIDsConfiguration IsDereferenceableIDs (bool dereferenceableIDs)
public virtual Microsoft.OData.Edm.IEdmExpression ToEdmExpression ()
}
@@ -2432,7 +2412,6 @@ public class Microsoft.OData.ModelBuilder.Core.V1.DescriptionConfiguration : Mic
string TermName { public virtual get; }
public Microsoft.OData.ModelBuilder.Core.V1.DescriptionConfiguration HasDescription (string description)
- public Microsoft.OData.ModelBuilder.Core.V1.DescriptionConfiguration HasDynamicProperty (string name, object value)
public virtual Microsoft.OData.Edm.IEdmExpression ToEdmExpression ()
}
@@ -2451,7 +2430,6 @@ public class Microsoft.OData.ModelBuilder.Core.V1.ImmutableConfiguration : Micro
string TermName { public virtual get; }
- public Microsoft.OData.ModelBuilder.Core.V1.ImmutableConfiguration HasDynamicProperty (string name, object value)
public Microsoft.OData.ModelBuilder.Core.V1.ImmutableConfiguration IsImmutable (bool immutable)
public virtual Microsoft.OData.Edm.IEdmExpression ToEdmExpression ()
}
@@ -2461,7 +2439,6 @@ public class Microsoft.OData.ModelBuilder.Core.V1.IsLanguageDependentConfigurati
string TermName { public virtual get; }
- public Microsoft.OData.ModelBuilder.Core.V1.IsLanguageDependentConfiguration HasDynamicProperty (string name, object value)
public Microsoft.OData.ModelBuilder.Core.V1.IsLanguageDependentConfiguration IsIsLanguageDependent (bool isLanguageDependent)
public virtual Microsoft.OData.Edm.IEdmExpression ToEdmExpression ()
}
@@ -2471,7 +2448,6 @@ public class Microsoft.OData.ModelBuilder.Core.V1.IsMediaTypeConfiguration : Mic
string TermName { public virtual get; }
- public Microsoft.OData.ModelBuilder.Core.V1.IsMediaTypeConfiguration HasDynamicProperty (string name, object value)
public Microsoft.OData.ModelBuilder.Core.V1.IsMediaTypeConfiguration IsIsMediaType (bool isMediaType)
public virtual Microsoft.OData.Edm.IEdmExpression ToEdmExpression ()
}
@@ -2481,7 +2457,6 @@ public class Microsoft.OData.ModelBuilder.Core.V1.IsURLConfiguration : Microsoft
string TermName { public virtual get; }
- public Microsoft.OData.ModelBuilder.Core.V1.IsURLConfiguration HasDynamicProperty (string name, object value)
public Microsoft.OData.ModelBuilder.Core.V1.IsURLConfiguration IsIsURL (bool isURL)
public virtual Microsoft.OData.Edm.IEdmExpression ToEdmExpression ()
}
@@ -2510,7 +2485,6 @@ public class Microsoft.OData.ModelBuilder.Core.V1.LongDescriptionConfiguration :
string TermName { public virtual get; }
- public Microsoft.OData.ModelBuilder.Core.V1.LongDescriptionConfiguration HasDynamicProperty (string name, object value)
public Microsoft.OData.ModelBuilder.Core.V1.LongDescriptionConfiguration HasLongDescription (string longDescription)
public virtual Microsoft.OData.Edm.IEdmExpression ToEdmExpression ()
}
@@ -2529,7 +2503,6 @@ public class Microsoft.OData.ModelBuilder.Core.V1.MediaTypeConfiguration : Micro
string TermName { public virtual get; }
- public Microsoft.OData.ModelBuilder.Core.V1.MediaTypeConfiguration HasDynamicProperty (string name, object value)
public Microsoft.OData.ModelBuilder.Core.V1.MediaTypeConfiguration HasMediaType (string mediaType)
public virtual Microsoft.OData.Edm.IEdmExpression ToEdmExpression ()
}
@@ -2562,7 +2535,6 @@ public class Microsoft.OData.ModelBuilder.Core.V1.ODataVersionsConfiguration : M
string TermName { public virtual get; }
- public Microsoft.OData.ModelBuilder.Core.V1.ODataVersionsConfiguration HasDynamicProperty (string name, object value)
public Microsoft.OData.ModelBuilder.Core.V1.ODataVersionsConfiguration HasODataVersions (string oDataVersions)
public virtual Microsoft.OData.Edm.IEdmExpression ToEdmExpression ()
}
@@ -2572,7 +2544,6 @@ public class Microsoft.OData.ModelBuilder.Core.V1.OperationAvailableConfiguratio
string TermName { public virtual get; }
- public Microsoft.OData.ModelBuilder.Core.V1.OperationAvailableConfiguration HasDynamicProperty (string name, object value)
public Microsoft.OData.ModelBuilder.Core.V1.OperationAvailableConfiguration IsOperationAvailable (bool operationAvailable)
public virtual Microsoft.OData.Edm.IEdmExpression ToEdmExpression ()
}
@@ -2601,7 +2572,6 @@ public class Microsoft.OData.ModelBuilder.Core.V1.OrderedConfiguration : Microso
string TermName { public virtual get; }
- public Microsoft.OData.ModelBuilder.Core.V1.OrderedConfiguration HasDynamicProperty (string name, object value)
public Microsoft.OData.ModelBuilder.Core.V1.OrderedConfiguration IsOrdered (bool ordered)
public virtual Microsoft.OData.Edm.IEdmExpression ToEdmExpression ()
}
@@ -2620,7 +2590,6 @@ public class Microsoft.OData.ModelBuilder.Core.V1.PositionalInsertConfiguration
string TermName { public virtual get; }
- public Microsoft.OData.ModelBuilder.Core.V1.PositionalInsertConfiguration HasDynamicProperty (string name, object value)
public Microsoft.OData.ModelBuilder.Core.V1.PositionalInsertConfiguration IsPositionalInsert (bool positionalInsert)
public virtual Microsoft.OData.Edm.IEdmExpression ToEdmExpression ()
}
@@ -2648,7 +2617,6 @@ public class Microsoft.OData.ModelBuilder.Core.V1.RequiresTypeConfiguration : Mi
string TermName { public virtual get; }
- public Microsoft.OData.ModelBuilder.Core.V1.RequiresTypeConfiguration HasDynamicProperty (string name, object value)
public Microsoft.OData.ModelBuilder.Core.V1.RequiresTypeConfiguration HasRequiresType (string requiresType)
public virtual Microsoft.OData.Edm.IEdmExpression ToEdmExpression ()
}
@@ -2670,7 +2638,6 @@ public class Microsoft.OData.ModelBuilder.Core.V1.ResourcePathConfiguration : Mi
string TermName { public virtual get; }
- public Microsoft.OData.ModelBuilder.Core.V1.ResourcePathConfiguration HasDynamicProperty (string name, object value)
public Microsoft.OData.ModelBuilder.Core.V1.ResourcePathConfiguration HasResourcePath (string resourcePath)
public virtual Microsoft.OData.Edm.IEdmExpression ToEdmExpression ()
}
@@ -2700,7 +2667,6 @@ public class Microsoft.OData.ModelBuilder.Core.V1.SchemaVersionConfiguration : M
string TermName { public virtual get; }
- public Microsoft.OData.ModelBuilder.Core.V1.SchemaVersionConfiguration HasDynamicProperty (string name, object value)
public Microsoft.OData.ModelBuilder.Core.V1.SchemaVersionConfiguration HasSchemaVersion (string schemaVersion)
public virtual Microsoft.OData.Edm.IEdmExpression ToEdmExpression ()
}
diff --git a/test/Microsoft.OData.ModelBuilder.Tests/Vocabularies/Capabilities/DeleteRestrictionsConfigurationTests.cs b/test/Microsoft.OData.ModelBuilder.Tests/Vocabularies/Capabilities/DeleteRestrictionsConfigurationTests.cs
index cfa6776..185e48a 100644
--- a/test/Microsoft.OData.ModelBuilder.Tests/Vocabularies/Capabilities/DeleteRestrictionsConfigurationTests.cs
+++ b/test/Microsoft.OData.ModelBuilder.Tests/Vocabularies/Capabilities/DeleteRestrictionsConfigurationTests.cs
@@ -134,6 +134,44 @@ public void PermissionsCanBeAddedToEntitySet()
Assert.Equal("*", restrictedPropertiesValue.Value);
}
+ [Fact]
+ public void TopSupportedCanBeAddedAsPrimitiveAnnotationToEntitySet()
+ {
+ // Arrange & Act
+ var modelBuilder = new ODataModelBuilder();
+ modelBuilder.EntityType().HasKey(c => c.CustomerId);
+ modelBuilder.EntitySet("Customers1").HasTopSupported().IsTopSupported(false);
+ modelBuilder.EntitySet("Customers2").HasTopSupported().IsTopSupported(true).Location = Edm.Csdl.EdmVocabularyAnnotationSerializationLocation.Inline;
+
+ var model = modelBuilder.GetServiceModel();
+
+ // Assert
+ var csdl = model.SerializeAsXml();
+
+ Assert.Equal("" +
+ "" +
+ "" +
+ "" +
+ "" +
+ "" +
+ "" +
+ "" +
+ "" +
+ "" +
+ "" +
+ "" +
+ "" +
+ "" +
+ "" +
+ "" +
+ "" +
+ "" +
+ "" +
+ "" +
+ "" +
+ "", csdl);
+ }
+
private T GetRecordValue(EdmRecordExpression record, string name) where T : class
=> record.FindProperty(name)?.Value as T;
}
diff --git a/test/Microsoft.OData.ModelBuilder.Tests/Vocabularies/Core/RevisionsConfigurationTests.cs b/test/Microsoft.OData.ModelBuilder.Tests/Vocabularies/Core/RevisionsConfigurationTests.cs
index a4236fa..4a99091 100644
--- a/test/Microsoft.OData.ModelBuilder.Tests/Vocabularies/Core/RevisionsConfigurationTests.cs
+++ b/test/Microsoft.OData.ModelBuilder.Tests/Vocabularies/Core/RevisionsConfigurationTests.cs
@@ -171,6 +171,36 @@ public void RevisionsCanBeAddedToOperation()
Assert.Equal(Kind.ToString(), revisionKindValue.EnumMembers.FirstOrDefault().Name);
}
+ [Fact]
+ public void ComputedCanBeAddedAsPrimitiveAnnotationToProperty()
+ {
+ // Arrange & Act
+ var modelBuilder = new ODataModelBuilder();
+ modelBuilder.EntityType().Property(c => c.Name).HasComputed().IsComputed(false);
+
+ var model = modelBuilder.GetServiceModel();
+
+ // Assert
+ var csdl = model.SerializeAsXml();
+
+ Assert.Equal("" +
+ "" +
+ "" +
+ "" +
+ "" +
+ "" +
+ "" +
+ "" +
+ "" +
+ "" +
+ "" +
+ "" +
+ "" +
+ "" +
+ "" +
+ "", csdl);
+ }
+
private EdmRecordExpression GetAnnotationTermEdmRecordExpression(IEdmVocabularyAnnotation annotation)
{
EdmRecordExpression revisionsProperties = null;