本文整理汇总了C#中Microsoft.Data.Edm.Library.EdmModel.GetEntitySetLinkBuilder方法的典型用法代码示例。如果您正苦于以下问题:C# EdmModel.GetEntitySetLinkBuilder方法的具体用法?C# EdmModel.GetEntitySetLinkBuilder怎么用?C# EdmModel.GetEntitySetLinkBuilder使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Microsoft.Data.Edm.Library.EdmModel
的用法示例。
在下文中一共展示了EdmModel.GetEntitySetLinkBuilder方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetEntitySetLinkBuilder_ReturnsDefaultEntitySetBuilder_IfNotSet
public void GetEntitySetLinkBuilder_ReturnsDefaultEntitySetBuilder_IfNotSet()
{
IEdmModel model = new EdmModel();
EdmEntityContainer container = new EdmEntityContainer("NS", "Container");
EdmEntityType entityType = new EdmEntityType("NS", "Entity");
IEdmEntitySet entitySet = new EdmEntitySet(container, "EntitySet", entityType);
Assert.NotNull(model.GetEntitySetLinkBuilder(entitySet));
}
示例2: GetEntitySetLinkBuilder_After_SetEntitySetLinkBuilder
public void GetEntitySetLinkBuilder_After_SetEntitySetLinkBuilder()
{
// Arrange
IEdmModel model = new EdmModel();
EdmEntityContainer container = new EdmEntityContainer("NS", "Container");
EdmEntityType entityType = new EdmEntityType("NS", "Entity");
IEdmEntitySet entitySet = new EdmEntitySet(container, "EntitySet", entityType);
EntitySetLinkBuilderAnnotation entitySetLinkBuilder = new EntitySetLinkBuilderAnnotation();
// Act
model.SetEntitySetLinkBuilder(entitySet, entitySetLinkBuilder);
var result = model.GetEntitySetLinkBuilder(entitySet);
// Assert
Assert.Same(entitySetLinkBuilder, result);
}
示例3: BuildEdmModel
public static IEdmModel BuildEdmModel(string containerNamespace, string containerName, IEnumerable<IStructuralTypeConfiguration> entityTypeConfigurations, IEnumerable<IEntitySetConfiguration> entitySetConfigurations)
{
if (entityTypeConfigurations == null)
{
throw Error.ArgumentNull("entityTypeConfigurations");
}
if (entitySetConfigurations == null)
{
throw Error.ArgumentNull("entitySetConfigurations");
}
EdmModel model = new EdmModel();
Dictionary<string, IEdmStructuredType> types = EdmTypeBuilder.GetTypes(entityTypeConfigurations)
.OfType<IEdmStructuredType>()
.ToDictionary(t => t.ToString());
foreach (IEdmStructuredType type in types.Values)
{
if (type.TypeKind == EdmTypeKind.Complex)
{
model.AddElement(type as IEdmComplexType);
}
else if (type.TypeKind == EdmTypeKind.Entity)
{
model.AddElement(type as IEdmEntityType);
}
else
{
throw Error.InvalidOperation(SRResources.UnsupportedEntityTypeInModel);
}
}
if (entitySetConfigurations.Any())
{
EdmEntityContainer container = new EdmEntityContainer(containerNamespace, containerName);
Dictionary<string, EdmEntitySet> edmEntitySetMap = new Dictionary<string, EdmEntitySet>();
foreach (IEntitySetConfiguration entitySet in entitySetConfigurations)
{
EdmEntitySet edmEntitySet = container.AddEntitySet(entitySet.Name, (IEdmEntityType)types[entitySet.EntityType.FullName]);
EntitySetLinkBuilderAnnotation entitySetLinkBuilderAnnotation = new EntitySetLinkBuilderAnnotation(entitySet);
model.SetEntitySetLinkBuilderAnnotation(edmEntitySet, entitySetLinkBuilderAnnotation);
model.SetAnnotationValue<EntitySetUrlAnnotation>(edmEntitySet, new EntitySetUrlAnnotation { Url = entitySet.GetUrl() });
edmEntitySetMap.Add(edmEntitySet.Name, edmEntitySet);
}
foreach (IEntitySetConfiguration entitySet in entitySetConfigurations)
{
EdmEntitySet edmEntitySet = edmEntitySetMap[entitySet.Name];
EntitySetLinkBuilderAnnotation entitySetLinkBuilderAnnotation = model.GetEntitySetLinkBuilder(edmEntitySet) as EntitySetLinkBuilderAnnotation;
foreach (NavigationPropertyConfiguration navigation in entitySet.EntityType.NavigationProperties)
{
NavigationPropertyBinding binding = entitySet.FindBinding(navigation);
if (binding != null)
{
EdmEntityType edmEntityType = types[entitySet.EntityType.FullName] as EdmEntityType;
IEdmNavigationProperty edmNavigationProperty = edmEntityType.NavigationProperties().Single(np => np.Name == navigation.Name);
edmEntitySet.AddNavigationTarget(edmNavigationProperty, edmEntitySetMap[binding.EntitySet.Name]);
entitySetLinkBuilderAnnotation.AddNavigationPropertyLinkBuilder(edmNavigationProperty, entitySet.GetNavigationPropertyLink(edmNavigationProperty.Name));
}
}
}
model.AddElement(container);
}
return model;
}