本文整理汇总了C#中IEdmModel类的典型用法代码示例。如果您正苦于以下问题:C# IEdmModel类的具体用法?C# IEdmModel怎么用?C# IEdmModel使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
IEdmModel类属于命名空间,在下文中一共展示了IEdmModel类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。
示例1: LoadServiceModel
//-----------------------------------------------------------------------------------------------------------------------------------------------------
private IEdmModel LoadServiceModel()
{
_edmModel = LoadModelFromService(this.GetMetadataUri());
_remoteEntityTypesNamespace = _edmModel.GetEntityNamespace();
return _edmModel;
}
开发者ID:votrongdao,项目名称:NWheels,代码行数:8,代码来源:ODataClientContextBase.cs
示例2: ResolveNavigationSource
/// <summary>
/// Resolve navigation source from model.
/// </summary>
/// <param name="model">The model to be used.</param>
/// <param name="identifier">The identifier to be resolved.</param>
/// <returns>The resolved navigation source.</returns>
public virtual IEdmNavigationSource ResolveNavigationSource(IEdmModel model, string identifier)
{
if (EnableCaseInsensitive)
{
IEdmEntityContainer container = model.EntityContainer;
if (container == null)
{
return null;
}
var result = container.Elements.OfType<IEdmNavigationSource>()
.Where(source => string.Equals(identifier, source.Name, StringComparison.OrdinalIgnoreCase)).ToList();
if (result.Count == 1)
{
return result.Single();
}
else if (result.Count > 1)
{
throw new ODataException(Strings.UriParserMetadata_MultipleMatchingNavigationSourcesFound(identifier));
}
}
return model.FindDeclaredNavigationSource(identifier);
}
开发者ID:larsenjo,项目名称:odata.net,代码行数:31,代码来源:ODataUriResolver.cs
示例3: MapODataRoute
public static void MapODataRoute(this HttpRouteCollection routes, string routeName, string routePrefix, IEdmModel model,
IODataPathHandler pathHandler, IEnumerable<IODataRoutingConvention> routingConventions, ODataBatchHandler batchHandler)
{
if (routes == null)
{
throw Error.ArgumentNull("routes");
}
if (!String.IsNullOrEmpty(routePrefix))
{
int prefixLastIndex = routePrefix.Length - 1;
if (routePrefix[prefixLastIndex] == '/')
{
// Remove the last trailing slash if it has one.
routePrefix = routePrefix.Substring(0, routePrefix.Length - 1);
}
}
if (batchHandler != null)
{
batchHandler.ODataRouteName = routeName;
string batchTemplate = String.IsNullOrEmpty(routePrefix) ? ODataRouteConstants.Batch : routePrefix + '/' + ODataRouteConstants.Batch;
routes.MapHttpBatchRoute(routeName + "Batch", batchTemplate, batchHandler);
}
ODataPathRouteConstraint routeConstraint = new ODataPathRouteConstraint(pathHandler, model, routeName, routingConventions);
routes.Add(routeName, new ODataRoute(routePrefix, routeConstraint));
}
开发者ID:quentez,项目名称:aspnetwebstack,代码行数:28,代码来源:ODataHttpRouteCollectionExtensions.cs
示例4: BuildCustomers
private static void BuildCustomers(IEdmModel model)
{
IEdmEntityType customerType = model.SchemaElements.OfType<IEdmEntityType>().First(e => e.Name == "Customer");
IEdmEntityObject[] untypedCustomers = new IEdmEntityObject[6];
for (int i = 1; i <= 5; i++)
{
dynamic untypedCustomer = new EdmEntityObject(customerType);
untypedCustomer.ID = i;
untypedCustomer.Name = string.Format("Name {0}", i);
untypedCustomer.SSN = "SSN-" + i + "-" + (100 + i);
untypedCustomers[i-1] = untypedCustomer;
}
// create a special customer for "PATCH"
dynamic customer = new EdmEntityObject(customerType);
customer.ID = 6;
customer.Name = "Name 6";
customer.SSN = "SSN-6-T-006";
untypedCustomers[5] = customer;
IEdmCollectionTypeReference entityCollectionType =
new EdmCollectionTypeReference(
new EdmCollectionType(
new EdmEntityTypeReference(customerType, isNullable: false)));
Customers = new EdmEntityObjectCollection(entityCollectionType, untypedCustomers.ToList());
}
开发者ID:chinadragon0515,项目名称:WebApi,代码行数:28,代码来源:AlternateKeysDataSource.cs
示例5: ODataQueryContext
/// <summary>
/// Constructs an instance of <see cref="ODataQueryContext"/> with EdmModel and Entity's CLR type.
/// By default we assume the full name of the CLR type is used for the name for the EntitySet stored in the model.
/// </summary>
/// <param name="model">The EdmModel that includes the Entity and EntitySet information.</param>
/// <param name="entityClrType">The entity's CLR type information.</param>
public ODataQueryContext(IEdmModel model, Type entityClrType)
{
if (model == null)
{
throw Error.ArgumentNull("model");
}
if (entityClrType == null)
{
throw Error.ArgumentNull("entityClrType");
}
// check if we can successfully retrieve an entitySet from the model with the given entityClrType
IEnumerable<IEdmEntityContainer> containers = model.EntityContainers();
List<IEdmEntitySet> entities = new List<IEdmEntitySet>();
foreach (IEdmEntityContainer container in containers)
{
entities.AddRange(container.EntitySets().Where(s => s.ElementType.IsEquivalentTo(model.GetEdmType(entityClrType))));
}
if (entities == null || entities.Count == 0)
{
throw Error.InvalidOperation(SRResources.EntitySetNotFound, entityClrType.FullName);
}
if (entities.Count > 1)
{
throw Error.InvalidOperation(SRResources.MultipleEntitySetMatchedClrType, entityClrType.FullName);
}
Model = model;
EntityClrType = entityClrType;
EntitySet = entities[0];
}
开发者ID:marojeri,项目名称:aspnetwebstack,代码行数:40,代码来源:ODataQueryContext.cs
示例6: CreateResolver
public ODataUriResolver CreateResolver(IEdmModel model)
{
ODataUriResolver resolver;
if (UnqualifiedNameCall && EnumPrefixFree)
{
resolver = new UnqualifiedCallAndEnumPrefixFreeResolver();
}
else if (UnqualifiedNameCall)
{
resolver = new UnqualifiedODataUriResolver();
}
else if (EnumPrefixFree)
{
resolver = new StringAsEnumResolver();
}
else if (AlternateKeys)
{
resolver = new AlternateKeysODataUriResolver(model);
}
else
{
resolver = new ODataUriResolver();
}
resolver.EnableCaseInsensitive = CaseInsensitive;
return resolver;
}
开发者ID:Gebov,项目名称:WebApi,代码行数:27,代码来源:ODataUriResolverSetttings.cs
示例7: ValidateRestrictions
private static void ValidateRestrictions(SelectExpandClause selectExpandClause, IEdmModel edmModel)
{
foreach (SelectItem selectItem in selectExpandClause.SelectedItems)
{
ExpandedNavigationSelectItem expandItem = selectItem as ExpandedNavigationSelectItem;
if (expandItem != null)
{
NavigationPropertySegment navigationSegment = (NavigationPropertySegment)expandItem.PathToNavigationProperty.LastSegment;
IEdmNavigationProperty navigationProperty = navigationSegment.NavigationProperty;
if (EdmLibHelpers.IsNotExpandable(navigationProperty, edmModel))
{
throw new ODataException(Error.Format(SRResources.NotExpandablePropertyUsedInExpand, navigationProperty.Name));
}
ValidateRestrictions(expandItem.SelectAndExpand, edmModel);
}
PathSelectItem pathSelectItem = selectItem as PathSelectItem;
if (pathSelectItem != null)
{
ODataPathSegment segment = pathSelectItem.SelectedPath.LastSegment;
NavigationPropertySegment navigationPropertySegment = segment as NavigationPropertySegment;
if (navigationPropertySegment != null)
{
IEdmNavigationProperty navigationProperty = navigationPropertySegment.NavigationProperty;
if (EdmLibHelpers.IsNotNavigable(navigationProperty, edmModel))
{
throw new ODataException(Error.Format(SRResources.NotNavigablePropertyUsedInNavigation, navigationProperty.Name));
}
}
}
}
}
开发者ID:KevMoore,项目名称:aspnetwebstack,代码行数:32,代码来源:SelectExpandQueryValidator.cs
示例8: JsonFullMetadataLevel
/// <summary>
/// Constructs a new <see cref="JsonFullMetadataLevel"/>.
/// </summary>
/// <param name="metadataDocumentUri">The metadata document uri from the writer settings.</param>
/// <param name="model">The Edm model.</param>
internal JsonFullMetadataLevel(Uri metadataDocumentUri, IEdmModel model)
{
Debug.Assert(model != null, "model != null");
this.metadataDocumentUri = metadataDocumentUri;
this.model = model;
}
开发者ID:rossjempson,项目名称:odata.net,代码行数:12,代码来源:JsonFullMetadataLevel.cs
示例9: SetEdmModel
/// <summary>
/// Sets the given EdmModel with the configuration.
/// </summary>
/// <param name="configuration">Configuration to be updated.</param>
/// <param name="model">The EdmModel to update.</param>
public static void SetEdmModel(this HttpConfiguration configuration, IEdmModel model)
{
if (configuration == null)
{
throw Error.ArgumentNull("configuration");
}
if (model == null)
{
throw Error.ArgumentNull("model");
}
if (configuration.GetODataFormatter() != null)
{
throw Error.NotSupported(
SRResources.EdmModelMismatch,
typeof(IEdmModel).Name,
typeof(ODataMediaTypeFormatter).Name,
"SetODataFormatter");
}
configuration.Properties.AddOrUpdate(EdmModelKey, model, (a, b) =>
{
return model;
});
}
开发者ID:mikevpeters,项目名称:aspnetwebstack,代码行数:31,代码来源:HttpConfigurationExtensions.cs
示例10: ResolveAndValidateTypeNameForValue
/// <summary>
/// Resolves and validates the Edm type for the given <paramref name="value"/>.
/// </summary>
/// <param name="model">The model to use.</param>
/// <param name="typeReferenceFromMetadata">The type inferred from the model or null if the model is not a user model.</param>
/// <param name="value">The value in question to resolve the type for.</param>
/// <param name="isOpenProperty">true if the type name belongs to an open property, false otherwise.</param>
/// <returns>A type for the <paramref name="value"/> or null if no metadata is available.</returns>
internal static IEdmTypeReference ResolveAndValidateTypeNameForValue(IEdmModel model, IEdmTypeReference typeReferenceFromMetadata, ODataValue value, bool isOpenProperty)
{
Debug.Assert(model != null, "model != null");
Debug.Assert(value != null, "value != null");
ODataPrimitiveValue primitiveValue = value as ODataPrimitiveValue;
if (primitiveValue != null)
{
Debug.Assert(primitiveValue.Value != null, "primitiveValue.Value != null");
return EdmLibraryExtensions.GetPrimitiveTypeReference(primitiveValue.Value.GetType());
}
ODataComplexValue complexValue = value as ODataComplexValue;
if (complexValue != null)
{
return ResolveAndValidateTypeFromNameAndMetadata(model, typeReferenceFromMetadata, complexValue.TypeName, EdmTypeKind.Complex, isOpenProperty);
}
ODataEnumValue enumValue = value as ODataEnumValue;
if (enumValue != null)
{
return ResolveAndValidateTypeFromNameAndMetadata(model, typeReferenceFromMetadata, enumValue.TypeName, EdmTypeKind.Enum, isOpenProperty);
}
ODataCollectionValue collectionValue = (ODataCollectionValue)value;
return ResolveAndValidateTypeFromNameAndMetadata(model, typeReferenceFromMetadata, collectionValue.TypeName, EdmTypeKind.Collection, isOpenProperty);
}
开发者ID:rossjempson,项目名称:odata.net,代码行数:35,代码来源:TypeNameOracle.cs
示例11: ResolveAndValidateTypeName
/// <summary>
/// Validates a type name to ensure that it's not an empty string and resolves it against the provided <paramref name="model"/>.
/// </summary>
/// <param name="model">The model to use.</param>
/// <param name="typeName">The type name to validate.</param>
/// <param name="expectedTypeKind">The expected type kind for the given type name.</param>
/// <returns>The type with the given name and kind if a user model was available, otherwise null.</returns>
internal static IEdmType ResolveAndValidateTypeName(IEdmModel model, string typeName, EdmTypeKind expectedTypeKind)
{
Debug.Assert(model != null, "model != null");
if (typeName == null)
{
// if we have metadata, the type name of an entry must not be null
if (model.IsUserModel())
{
throw new ODataException(Strings.WriterValidationUtils_MissingTypeNameWithMetadata);
}
return null;
}
if (typeName.Length == 0)
{
throw new ODataException(Strings.ValidationUtils_TypeNameMustNotBeEmpty);
}
if (!model.IsUserModel())
{
return null;
}
// If we do have metadata, lookup the type and translate it to a type.
IEdmType resolvedType = MetadataUtils.ResolveTypeNameForWrite(model, typeName);
if (resolvedType == null)
{
throw new ODataException(Strings.ValidationUtils_UnrecognizedTypeName(typeName));
}
ValidationUtils.ValidateTypeKind(resolvedType.TypeKind, expectedTypeKind, resolvedType.ODataFullName());
return resolvedType;
}
开发者ID:rossjempson,项目名称:odata.net,代码行数:42,代码来源:TypeNameOracle.cs
示例12: GetOperationsInEntry
/// <summary>
/// Returns a hash set of operation imports (actions and functions) in the given entry.
/// </summary>
/// <param name="entry">The entry in question.</param>
/// <param name="model">The edm model to resolve operation imports.</param>
/// <param name="metadataDocumentUri">The metadata document uri.</param>
/// <returns>The hash set of operation imports (actions and functions) in the given entry.</returns>
private static HashSet<IEdmOperation> GetOperationsInEntry(ODataEntry entry, IEdmModel model, Uri metadataDocumentUri)
{
Debug.Assert(entry != null, "entry != null");
Debug.Assert(model != null, "model != null");
Debug.Assert(metadataDocumentUri != null && metadataDocumentUri.IsAbsoluteUri, "metadataDocumentUri != null && metadataDocumentUri.IsAbsoluteUri");
HashSet<IEdmOperation> edmOperationImportsInEntry = new HashSet<IEdmOperation>(EqualityComparer<IEdmOperation>.Default);
IEnumerable<ODataOperation> operations = ODataUtilsInternal.ConcatEnumerables((IEnumerable<ODataOperation>)entry.NonComputedActions, (IEnumerable<ODataOperation>)entry.NonComputedFunctions);
if (operations != null)
{
foreach (ODataOperation operation in operations)
{
Debug.Assert(operation.Metadata != null, "operation.Metadata != null");
string operationMetadataString = UriUtils.UriToString(operation.Metadata);
Debug.Assert(
ODataJsonLightUtils.IsMetadataReferenceProperty(operationMetadataString),
"ODataJsonLightUtils.IsMetadataReferenceProperty(operationMetadataString)");
Debug.Assert(
operationMetadataString[0] == ODataConstants.ContextUriFragmentIndicator || metadataDocumentUri.IsBaseOf(operation.Metadata),
"operationMetadataString[0] == JsonLightConstants.ContextUriFragmentIndicator || metadataDocumentUri.IsBaseOf(operation.Metadata)");
string fullyQualifiedOperationName = ODataJsonLightUtils.GetUriFragmentFromMetadataReferencePropertyName(metadataDocumentUri, operationMetadataString);
IEnumerable<IEdmOperation> edmOperations = model.ResolveOperations(fullyQualifiedOperationName);
if (edmOperations != null)
{
foreach (IEdmOperation edmOperation in edmOperations)
{
edmOperationImportsInEntry.Add(edmOperation);
}
}
}
}
return edmOperationImportsInEntry;
}
开发者ID:larsenjo,项目名称:odata.net,代码行数:42,代码来源:ODataMissingOperationGenerator.cs
示例13: ValidateCount
private static void ValidateCount(ODataPathSegment segment, IEdmModel model)
{
Contract.Assert(segment != null);
Contract.Assert(model != null);
NavigationPathSegment navigationPathSegment = segment as NavigationPathSegment;
if (navigationPathSegment != null)
{
if (EdmLibHelpers.IsNotCountable(navigationPathSegment.NavigationProperty, model))
{
throw new InvalidOperationException(Error.Format(
SRResources.NotCountablePropertyUsedForCount,
navigationPathSegment.NavigationPropertyName));
}
return;
}
PropertyAccessPathSegment propertyAccessPathSegment = segment as PropertyAccessPathSegment;
if (propertyAccessPathSegment != null)
{
if (EdmLibHelpers.IsNotCountable(propertyAccessPathSegment.Property, model))
{
throw new InvalidOperationException(Error.Format(
SRResources.NotCountablePropertyUsedForCount,
propertyAccessPathSegment.PropertyName));
}
}
}
开发者ID:ZhaoYngTest01,项目名称:WebApi,代码行数:28,代码来源:CountQueryValidator.cs
示例14: TryResolve
public static FunctionPathSegment TryResolve(IEnumerable<IEdmFunctionImport> functions, IEdmModel model, string nextSegment)
{
Dictionary<string, string> parameters = null;
IEnumerable<string> parameterNames = null;
if (IsEnclosedInParentheses(nextSegment))
{
string value = nextSegment.Substring(1, nextSegment.Length - 2);
parameters = KeyValueParser.ParseKeys(value);
parameterNames = parameters.Keys;
}
IEdmFunctionImport function = FindBestFunction(functions, parameterNames);
if (function != null)
{
if (GetNonBindingParameters(function).Any())
{
return new FunctionPathSegment(function, model, parameters);
}
else
{
return new FunctionPathSegment(function, model, parameterValues: null);
}
}
return null;
}
开发者ID:quentez,项目名称:aspnetwebstack,代码行数:26,代码来源:FunctionResolver.cs
示例15: TryBindAsWildcard
/// <summary>
/// Build a wildcard selection item
/// </summary>
/// <param name="tokenIn">the token to bind to a wildcard</param>
/// <param name="model">the model to search for this wildcard</param>
/// <param name="item">the new wildcard selection item, if we found one</param>
/// <returns>true if we successfully bound to a wildcard, false otherwise</returns>
public static bool TryBindAsWildcard(PathSegmentToken tokenIn, IEdmModel model, out SelectItem item)
{
bool isTypeToken = tokenIn.IsNamespaceOrContainerQualified();
bool wildcard = tokenIn.Identifier.EndsWith("*", StringComparison.Ordinal);
if (isTypeToken && wildcard)
{
string namespaceName = tokenIn.Identifier.Substring(0, tokenIn.Identifier.Length - 2);
if (model.DeclaredNamespaces.Any(declaredNamespace => declaredNamespace.Equals(namespaceName, StringComparison.Ordinal)))
{
item = new NamespaceQualifiedWildcardSelectItem(namespaceName);
return true;
}
}
if (tokenIn.Identifier == "*")
{
item = new WildcardSelectItem();
return true;
}
item = null;
return false;
}
开发者ID:rossjempson,项目名称:odata.net,代码行数:32,代码来源:SelectPathSegmentTokenBinder.cs
示例16: Parse
/// <summary>
/// Parses the specified OData path as an <see cref="ODataPath"/> that contains additional information about the EDM type and entity set for the path.
/// </summary>
/// <param name="model">The model to use for path parsing.</param>
/// <param name="odataPath">The OData path to parse.</param>
/// <returns>A parsed representation of the path, or <c>null</c> if the path does not match the model.</returns>
public virtual ODataPath Parse(IEdmModel model, string odataPath)
{
if (model == null)
{
throw Error.ArgumentNull("model");
}
if (odataPath == null)
{
throw Error.ArgumentNull("odataPath");
}
List<ODataPathSegment> pathSegments = new List<ODataPathSegment>();
ODataPathSegment pathSegment = null;
IEdmType previousEdmType = null;
foreach (string segment in ParseSegments(odataPath))
{
pathSegment = ParseNextSegment(model, pathSegment, previousEdmType, segment);
// If the Uri stops matching the model at any point, return null
if (pathSegment == null)
{
return null;
}
pathSegments.Add(pathSegment);
previousEdmType = pathSegment.GetEdmType(previousEdmType);
}
return new ODataPath(pathSegments);
}
开发者ID:ZhaoYngTest01,项目名称:WebApi,代码行数:36,代码来源:DefaultODataPathHandler.cs
示例17: TypeResolver
/// <summary>
/// Creates an instance of TypeResolver class.
/// </summary>
/// <param name="model">The client model.</param>
/// <param name="resolveTypeFromName">The callback to resolve client CLR types.</param>
/// <param name="resolveNameFromType">The callback for resolving server type names.</param>
/// <param name="serviceModel">The service model.</param>
internal TypeResolver(ClientEdmModel model, Func<string, Type> resolveTypeFromName, Func<Type, string> resolveNameFromType, IEdmModel serviceModel)
{
Debug.Assert(model != null, "model != null");
Debug.Assert(resolveTypeFromName != null, "resolveTypeFromName != null");
Debug.Assert(resolveNameFromType != null, "resolveNameFromType != null");
this.resolveTypeFromName = resolveTypeFromName;
this.resolveNameFromType = resolveNameFromType;
this.serviceModel = serviceModel;
this.clientEdmModel = model;
if (serviceModel != null && clientEdmModel != null)
{
if (clientEdmModel.EdmStructuredSchemaElements == null)
{
clientEdmModel.EdmStructuredSchemaElements = serviceModel.SchemaElements.Where(se => se is IEdmStructuredType).ToList();
}
else
{
foreach (var element in serviceModel.SchemaElements.Where(se => se is IEdmStructuredType))
{
if (!clientEdmModel.EdmStructuredSchemaElements.Contains(element))
{
clientEdmModel.EdmStructuredSchemaElements.Add(element);
}
}
}
}
}
开发者ID:larsenjo,项目名称:odata.net,代码行数:35,代码来源:TypeResolver.cs
示例18: ODataPathRouteConstraint
/// <summary>
/// Initializes a new instance of the <see cref="ODataPathRouteConstraint" /> class.
/// </summary>
/// <param name="pathHandler">The OData path handler to use for parsing.</param>
/// <param name="model">The EDM model to use for parsing the path.</param>
/// <param name="routeName">The name of the route this constraint is associated with.</param>
/// <param name="routingConventions">The OData routing conventions to use for selecting the controller name.</param>
public ODataPathRouteConstraint(IODataPathHandler pathHandler, IEdmModel model, string routeName, IEnumerable<IODataRoutingConvention> routingConventions)
{
if (pathHandler == null)
{
throw Error.ArgumentNull("pathHandler");
}
if (model == null)
{
throw Error.ArgumentNull("model");
}
if (routeName == null)
{
throw Error.ArgumentNull("routeName");
}
if (routingConventions == null)
{
throw Error.ArgumentNull("routingConventions");
}
PathHandler = pathHandler;
EdmModel = model;
RouteName = routeName;
RoutingConventions = routingConventions;
}
开发者ID:richarddwelsh,项目名称:aspnetwebstack,代码行数:34,代码来源:ODataPathRouteConstraint.cs
示例19: GetODataDeserializer
/// <inheritdoc />
public override ODataDeserializer GetODataDeserializer(IEdmModel model, Type type, HttpRequestMessage request)
{
if (type == null)
{
throw Error.ArgumentNull("type");
}
if (model == null)
{
throw Error.ArgumentNull("model");
}
if (type == typeof(Uri))
{
return _entityReferenceLinkDeserializer;
}
if (type == typeof(ODataActionParameters) || type == typeof(ODataUntypedActionParameters))
{
return _actionPayloadDeserializer;
}
ClrTypeCache typeMappingCache = model.GetTypeMappingCache();
IEdmTypeReference edmType = typeMappingCache.GetEdmType(type, model);
if (edmType == null)
{
return null;
}
else
{
return GetEdmTypeDeserializer(edmType);
}
}
开发者ID:quentez,项目名称:aspnetwebstack,代码行数:35,代码来源:DefaultODataDeserializerProvider.cs
示例20: BuildOrderss
private static void BuildOrderss(IEdmModel model)
{
IEdmEntityType orderType = model.SchemaElements.OfType<IEdmEntityType>().First(e => e.Name == "Order");
Guid[] guids =
{
new Guid("196B3584-EF3D-41FD-90B4-76D59F9B929C"),
new Guid("6CED5600-28BA-40EE-A2DF-E80AFADBE6C7"),
new Guid("75036B94-C836-4946-8CC8-054CF54060EC"),
new Guid("B3FF5460-6E77-4678-B959-DCC1C4937FA7"),
new Guid("ED773C85-4E3C-4FC4-A3E9-9F1DA0A626DA")
};
IEdmEntityObject[] untypedOrders = new IEdmEntityObject[5];
for (int i = 0; i < 5; i++)
{
dynamic untypedOrder = new EdmEntityObject(orderType);
untypedOrder.OrderId = i;
untypedOrder.Name = string.Format("Order-{0}", i);
untypedOrder.Token = guids[i];
untypedOrder.Amount = 10 + i;
untypedOrders[i] = untypedOrder;
}
IEdmCollectionTypeReference entityCollectionType =
new EdmCollectionTypeReference(
new EdmCollectionType(
new EdmEntityTypeReference(orderType, isNullable: false)));
Orders = new EdmEntityObjectCollection(entityCollectionType, untypedOrders.ToList());
}
开发者ID:chinadragon0515,项目名称:WebApi,代码行数:31,代码来源:AlternateKeysDataSource.cs
注:本文中的IEdmModel类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论