本文整理汇总了C#中IEdmEntitySet.ToSerializationLocation方法的典型用法代码示例。如果您正苦于以下问题:C# IEdmEntitySet.ToSerializationLocation方法的具体用法?C# IEdmEntitySet.ToSerializationLocation怎么用?C# IEdmEntitySet.ToSerializationLocation使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IEdmEntitySet
的用法示例。
在下文中一共展示了IEdmEntitySet.ToSerializationLocation方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: SetSearchRestrictionsCapabilitiesAnnotation
public static void SetSearchRestrictionsCapabilitiesAnnotation(this EdmModel model, IEdmEntitySet entitySet, bool searchable, CapabilitiesSearchExpressions unsupported)
{
if (model == null) throw new ArgumentNullException("model");
if (entitySet == null) throw new ArgumentNullException("entitySet");
var target = entitySet;
var term = SearchRestrictionsTerm;
var name = new EdmEnumTypeReference(SearchExpressionsType, false).ToStringLiteral((long)unsupported);
var properties = new IEdmPropertyConstructor[]
{
new EdmPropertyConstructor("Searchable", new EdmBooleanConstant(searchable)),
new EdmPropertyConstructor("UnsupportedExpressions", new EdmEnumMemberReferenceExpression(SearchExpressionsType.Members.Single(m => m.Name == name))),
};
var record = new EdmRecordExpression(properties);
var annotation = new EdmAnnotation(target, term, record);
annotation.SetSerializationLocation(model, entitySet.ToSerializationLocation());
model.AddVocabularyAnnotation(annotation);
}
示例2: SetNavigationRestrictionsCapabilitiesAnnotation
public static void SetNavigationRestrictionsCapabilitiesAnnotation(this EdmModel model, IEdmEntitySet entitySet, CapabilitiesNavigationType type, IEnumerable<Tuple<IEdmNavigationProperty, CapabilitiesNavigationType>> properties)
{
if (model == null) throw new ArgumentNullException("model");
if (entitySet == null) throw new ArgumentNullException("entitySet");
if (properties == null)
{
properties = new Tuple<IEdmNavigationProperty, CapabilitiesNavigationType>[0];
}
var target = entitySet;
var term = NavigationRestrictionsTerm;
// handle type
var typeLiteral = new EdmEnumTypeReference(NavigationTypeType, false).ToStringLiteral((long)type);
// handle properties
var propertiesExpression = properties.Select(p =>
{
var name = new EdmEnumTypeReference(NavigationTypeType, false).ToStringLiteral((long)p.Item2);
return new EdmRecordExpression(new IEdmPropertyConstructor[]
{
new EdmPropertyConstructor("NavigationProperty", new EdmNavigationPropertyPathExpression(p.Item1.Name)),
new EdmPropertyConstructor("Navigability", new EdmEnumMemberReferenceExpression(NavigationTypeType.Members.Single(m => m.Name == name))),
});
});
var record = new EdmRecordExpression(new IEdmPropertyConstructor[]
{
new EdmPropertyConstructor("Navigability", new EdmEnumMemberReferenceExpression(NavigationTypeType.Members.Single(m => m.Name == typeLiteral))),
new EdmPropertyConstructor("RestrictedProperties", new EdmCollectionExpression(propertiesExpression))
});
var annotation = new EdmAnnotation(target, term, record);
annotation.SetSerializationLocation(model, entitySet.ToSerializationLocation());
model.AddVocabularyAnnotation(annotation);
}