本文整理汇总了C#中System.Data.Entity.Core.Metadata.Edm.EntityContainer.AddEntitySetBase方法的典型用法代码示例。如果您正苦于以下问题:C# EntityContainer.AddEntitySetBase方法的具体用法?C# EntityContainer.AddEntitySetBase怎么用?C# EntityContainer.AddEntitySetBase使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Data.Entity.Core.Metadata.Edm.EntityContainer
的用法示例。
在下文中一共展示了EntityContainer.AddEntitySetBase方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Can_clear_modification_function_mappings
public void Can_clear_modification_function_mappings()
{
var entityType = new EntityType("E", "N", DataSpace.CSpace);
var entitySet = new EntitySet("S", "N", null, null, entityType);
var function = new EdmFunction("F", "N", DataSpace.SSpace, new EdmFunctionPayload());
var container = new EntityContainer("C", DataSpace.CSpace);
container.AddEntitySetBase(entitySet);
var entitySetMapping =
new StorageEntitySetMapping(
entitySet,
new StorageEntityContainerMapping(container));
var functionMapping =
new StorageModificationFunctionMapping(
entitySet,
entityType,
function,
Enumerable.Empty<StorageModificationFunctionParameterBinding>(),
null,
null);
var entityFunctionMappings =
new StorageEntityTypeModificationFunctionMapping(entityType, functionMapping, null, null);
entitySetMapping.AddModificationFunctionMapping(entityFunctionMappings);
Assert.Equal(1, entitySetMapping.ModificationFunctionMappings.Count());
entitySetMapping.ClearModificationFunctionMappings();
Assert.Equal(0, entitySetMapping.ModificationFunctionMappings.Count());
}
示例2: WriteMappingFragment_should_write_store_entity_set_name
public void WriteMappingFragment_should_write_store_entity_set_name()
{
var fixture = new Fixture();
var entityType = new EntityType("E", "N", DataSpace.CSpace);
var entitySet = new EntitySet("ES", "S", null, null, entityType);
var entityContainer = new EntityContainer("EC", DataSpace.SSpace);
entityContainer.AddEntitySetBase(entitySet);
var storageEntitySetMapping
= new EntitySetMapping(
entitySet,
new EntityContainerMapping(entityContainer));
TypeMapping typeMapping = new EntityTypeMapping(storageEntitySetMapping);
var mappingFragment = new MappingFragment(entitySet, typeMapping, false);
fixture.Writer.WriteMappingFragmentElement(mappingFragment);
Assert.Equal(
@"<MappingFragment StoreEntitySet=""ES"" />",
fixture.ToString());
}
示例3: Can_get_collection_of_entity_sets
public void Can_get_collection_of_entity_sets()
{
var entityContainer = new EntityContainer("C", DataSpace.CSpace);
entityContainer.AddEntitySetBase(new EntitySet("E", null, null, null, new EntityType("E", "N", DataSpace.CSpace)));
Assert.Equal(1, entityContainer.EntitySets.Count);
Assert.Empty(entityContainer.AssociationSets);
}
示例4: Can_get_collection_of_association_sets
public void Can_get_collection_of_association_sets()
{
var entityContainer = new EntityContainer("C", DataSpace.CSpace);
entityContainer.AddEntitySetBase(new AssociationSet("A", new AssociationType("A", XmlConstants.ModelNamespace_3, false, DataSpace.CSpace)));
Assert.Equal(1, entityContainer.AssociationSets.Count);
Assert.Empty(entityContainer.EntitySets);
}
示例5: Can_remove_set_from_container
public void Can_remove_set_from_container()
{
var entityContainer = new EntityContainer("C", DataSpace.CSpace);
var associationSet = new AssociationSet("A", new AssociationType("A", XmlConstants.ModelNamespace_3, false, DataSpace.CSpace));
entityContainer.AddEntitySetBase(associationSet);
Assert.Equal(1, entityContainer.AssociationSets.Count);
entityContainer.RemoveEntitySetBase(associationSet);
Assert.Empty(entityContainer.AssociationSets);
Assert.Null(associationSet.EntityContainer);
}
示例6: WriteEntitySetMappingElement_should_write_modification_function_mappings
public void WriteEntitySetMappingElement_should_write_modification_function_mappings()
{
var fixture = new Fixture();
var entityType = new EntityType("E", "N", DataSpace.CSpace);
var entitySet = new EntitySet("ES", "S", null, null, entityType);
var entityContainer = new EntityContainer("EC", DataSpace.SSpace);
entityContainer.AddEntitySetBase(entitySet);
var storageEntitySetMapping
= new EntitySetMapping(
entitySet,
new EntityContainerMapping(entityContainer));
var storageModificationFunctionMapping
= new ModificationFunctionMapping(
entitySet,
entityType,
new EdmFunction("F", "N", DataSpace.SSpace, new EdmFunctionPayload()),
Enumerable.Empty<ModificationFunctionParameterBinding>(),
null,
null);
storageEntitySetMapping.AddModificationFunctionMapping(
new EntityTypeModificationFunctionMapping(
entityType,
storageModificationFunctionMapping,
storageModificationFunctionMapping,
storageModificationFunctionMapping));
fixture.Writer.WriteEntitySetMappingElement(storageEntitySetMapping);
Assert.Equal(
@"<EntitySetMapping Name=""ES"">
<EntityTypeMapping TypeName="".E"">
<ModificationFunctionMapping>
<InsertFunction FunctionName=""N.F"" />
<UpdateFunction FunctionName=""N.F"" />
<DeleteFunction FunctionName=""N.F"" />
</ModificationFunctionMapping>
</EntityTypeMapping>
</EntitySetMapping>",
fixture.ToString());
}
示例7: Can_get_rows_affected_parameter_name
public void Can_get_rows_affected_parameter_name()
{
var entityType = new EntityType("E", "N", DataSpace.CSpace);
var entitySet = new EntitySet("ES", "S", null, null, entityType);
var entityContainer = new EntityContainer("EC", DataSpace.SSpace);
entityContainer.AddEntitySetBase(entitySet);
var storageModificationFunctionMapping
= new StorageModificationFunctionMapping(
entitySet,
entityType,
new EdmFunction("F", "N", DataSpace.SSpace, new EdmFunctionPayload()),
Enumerable.Empty<StorageModificationFunctionParameterBinding>(),
new FunctionParameter("rows_affected", new TypeUsage(), ParameterMode.Out),
null);
Assert.Equal("rows_affected", storageModificationFunctionMapping.RowsAffectedParameterName);
}
示例8: Can_retrieve_properties
public void Can_retrieve_properties()
{
var entityType = new EntityType("ET", "N", DataSpace.CSpace);
var entitySet = new EntitySet("ES", "S", "T", "Q", entityType);
var entityContainer = new EntityContainer("EC", DataSpace.SSpace);
entityContainer.AddEntitySetBase(entitySet);
var function = new EdmFunction("F", "N", DataSpace.SSpace, new EdmFunctionPayload());
var parameterBindings
= new[]
{
new ModificationFunctionParameterBinding(
new FunctionParameter(),
new ModificationFunctionMemberPath(Enumerable.Empty<EdmMember>(), null),
true)
};
var rowsAffectedParameter = new FunctionParameter("rows_affected", new TypeUsage(), ParameterMode.Out);
var resultBindings
= new[]
{
new ModificationFunctionResultBinding(
"C",
EdmProperty.CreatePrimitive(
"P", PrimitiveType.GetEdmPrimitiveType(PrimitiveTypeKind.String)))
};
var mapping
= new ModificationFunctionMapping(
entitySet, entityType, function,
parameterBindings, rowsAffectedParameter, resultBindings);
Assert.Same(rowsAffectedParameter, mapping.RowsAffectedParameter);
Assert.Same(function, mapping.Function);
Assert.Equal(parameterBindings, mapping.ParameterBindings);
Assert.Equal(resultBindings, mapping.ResultBindings);
}
示例9: Can_add_entity_set_to_container
public void Can_add_entity_set_to_container()
{
var entityContainer = new EntityContainer("Container", DataSpace.CSpace);
var entityType = new EntityType("E", "N", DataSpace.CSpace);
var typeUsage = TypeUsage.CreateDefaultTypeUsage(PrimitiveType.GetEdmPrimitiveType(PrimitiveTypeKind.String));
var entitySet = EntitySet.Create("S", "dbo", "T", "Q", entityType, new[] { new MetadataProperty("P", typeUsage, "V") });
Assert.Equal(0, entityContainer.EntitySets.Count);
Assert.Null(entitySet.EntityContainer);
entityContainer.AddEntitySetBase(entitySet);
Assert.Equal(1, entityContainer.EntitySets.Count);
Assert.Same(entitySet, entityContainer.EntitySets.Single());
Assert.Same(entityContainer, entitySet.EntityContainer);
}
示例10: Create
/// <summary>
/// The factory method for constructing the EntityContainer object.
/// </summary>
/// <param name="name">The name of the entity container to be created.</param>
/// <param name="dataSpace">DataSpace in which this entity container belongs to.</param>
/// <param name="entitySets">Entity sets that will be included in the new container. Can be null.</param>
/// <param name="functionImports">Functions that will be included in the new container. Can be null.</param>
/// <param name="metadataProperties">Metadata properties to be associated with the instance.</param>
/// <returns>The EntityContainer object.</returns>
/// <exception cref="System.ArgumentException">Thrown if the name argument is null or empty string.</exception>
/// <remarks>The newly created EntityContainer will be read only.</remarks>
public static EntityContainer Create(
string name, DataSpace dataSpace, IEnumerable<EntitySetBase> entitySets,
IEnumerable<EdmFunction> functionImports, IEnumerable<MetadataProperty> metadataProperties)
{
Check.NotEmpty(name, "name");
var entityContainer = new EntityContainer(name, dataSpace);
if (entitySets != null)
{
foreach (var entitySet in entitySets)
{
entityContainer.AddEntitySetBase(entitySet);
}
}
if (functionImports != null)
{
foreach (var function in functionImports)
{
if (!function.IsFunctionImport)
{
throw new ArgumentException(Strings.OnlyFunctionImportsCanBeAddedToEntityContainer(function.Name));
}
entityContainer.AddFunctionImport(function);
}
}
if (metadataProperties != null)
{
entityContainer.AddMetadataProperties(metadataProperties.ToList());
}
entityContainer.SetReadOnly();
return entityContainer;
}
示例11: Can_get_modification_function_mappings
public void Can_get_modification_function_mappings()
{
var entityType = new EntityType("E", "N", DataSpace.CSpace);
var entitySet = new EntitySet("S", "N", null, null, entityType);
var function = new EdmFunction(
"F", "N", DataSpace.CSpace,
new EdmFunctionPayload
{
IsFunctionImport = true
});
var container = new EntityContainer("C", DataSpace.CSpace);
container.AddEntitySetBase(entitySet);
container.AddFunctionImport(function);
var entitySetMapping =
new StorageEntitySetMapping(
entitySet,
new StorageEntityContainerMapping(container));
var functionMapping =
new StorageModificationFunctionMapping(
entitySet,
entityType,
function,
Enumerable.Empty<StorageModificationFunctionParameterBinding>(),
null,
null);
var entityFunctionMappings =
new StorageEntityTypeModificationFunctionMapping(entityType, functionMapping, null, null);
entitySetMapping.AddModificationFunctionMapping(entityFunctionMappings);
Assert.Same(entityFunctionMappings, entitySetMapping.ModificationFunctionMappings.Single());
}
示例12: SetReadOnly_is_called_on_child_mapping_items
public void SetReadOnly_is_called_on_child_mapping_items()
{
var entityType = new EntityType("E", "N", DataSpace.CSpace);
var entitySet = new EntitySet("S", "N", null, null, entityType);
var function = new EdmFunction(
"F", "N", DataSpace.CSpace,
new EdmFunctionPayload
{
IsFunctionImport = true
});
var container = new EntityContainer("C", DataSpace.CSpace);
container.AddEntitySetBase(entitySet);
container.AddFunctionImport(function);
var entitySetMapping =
new EntitySetMapping(
entitySet,
new EntityContainerMapping(container));
var functionMapping =
new ModificationFunctionMapping(
entitySet,
entityType,
function,
Enumerable.Empty<ModificationFunctionParameterBinding>(),
null,
null);
var entityFunctionMapping =
new EntityTypeModificationFunctionMapping(entityType, functionMapping, null, null);
entitySetMapping.AddModificationFunctionMapping(entityFunctionMapping);
var entityTypeMapping = new EntityTypeMapping(entitySetMapping);
entitySetMapping.AddTypeMapping(entityTypeMapping);
Assert.False(entityTypeMapping.IsReadOnly);
Assert.False(entityFunctionMapping.IsReadOnly);
entitySetMapping.SetReadOnly();
Assert.True(entityTypeMapping.IsReadOnly);
Assert.True(entityFunctionMapping.IsReadOnly);
}
示例13: SetReadOnly_is_called_on_child_mapping_items
public void SetReadOnly_is_called_on_child_mapping_items()
{
var entityType = new EntityType("ET", "N", DataSpace.CSpace);
var entitySet = new EntitySet("ES", "S", "T", "Q", entityType);
var entityContainer = new EntityContainer("EC", DataSpace.SSpace);
entityContainer.AddEntitySetBase(entitySet);
var function = new EdmFunction("F", "N", DataSpace.SSpace, new EdmFunctionPayload());
var parameterBindings
= new[]
{
new ModificationFunctionParameterBinding(
new FunctionParameter(),
new ModificationFunctionMemberPath(Enumerable.Empty<EdmMember>(), null),
true)
};
var rowsAffectedParameter = new FunctionParameter("rows_affected", new TypeUsage(), ParameterMode.Out);
var resultBindings
= new[]
{
new ModificationFunctionResultBinding(
"C",
EdmProperty.CreatePrimitive(
"P", PrimitiveType.GetEdmPrimitiveType(PrimitiveTypeKind.String)))
};
var mapping
= new ModificationFunctionMapping(
entitySet, entityType, function,
parameterBindings, rowsAffectedParameter, resultBindings);
Assert.False(mapping.IsReadOnly);
parameterBindings.Each(b => Assert.False(b.IsReadOnly));
resultBindings.Each(b => Assert.False(b.IsReadOnly));
mapping.SetReadOnly();
Assert.True(mapping.IsReadOnly);
parameterBindings.Each(b => Assert.True(b.IsReadOnly));
resultBindings.Each(b => Assert.True(b.IsReadOnly));
}
示例14: Cannot_remove_modification_function_mapping_when_read_only
public void Cannot_remove_modification_function_mapping_when_read_only()
{
var entityType = new EntityType("E", "N", DataSpace.CSpace);
var entitySet = new EntitySet("S", "N", null, null, entityType);
var function = new EdmFunction(
"F", "N", DataSpace.CSpace,
new EdmFunctionPayload
{
IsFunctionImport = true
});
var container = new EntityContainer("C", DataSpace.CSpace);
container.AddEntitySetBase(entitySet);
container.AddFunctionImport(function);
var entitySetMapping =
new EntitySetMapping(
entitySet,
new EntityContainerMapping(container));
var functionMapping =
new ModificationFunctionMapping(
entitySet,
entityType,
function,
Enumerable.Empty<ModificationFunctionParameterBinding>(),
null,
null);
var entityFunctionMappings =
new EntityTypeModificationFunctionMapping(entityType, functionMapping, null, null);
entitySetMapping.AddModificationFunctionMapping(entityFunctionMappings);
entitySetMapping.SetReadOnly();
Assert.Equal(
Strings.OperationOnReadOnlyItem,
Assert.Throws<InvalidOperationException>(
() => entitySetMapping.RemoveModificationFunctionMapping(entityFunctionMappings)).Message);
}
示例15: Executes_in_a_transaction_using_ExecutionStrategy
public void Executes_in_a_transaction_using_ExecutionStrategy()
{
var shaperMock = MockHelper.CreateShaperMock<object>();
shaperMock.Setup(m => m.GetEnumerator()).Returns(
() => new DbEnumeratorShim<object>(((IEnumerable<object>)new[] { new object() }).GetEnumerator()));
var objectResultMock = new Mock<ObjectResult<object>>(shaperMock.Object, null, null)
{
CallBase = true
};
var entityType = new EntityType(
"FakeEntityType", "FakeNamespace", DataSpace.CSpace, new[] { "key" }, new EdmMember[] { new EdmProperty("key") });
var entitySet = new EntitySet("FakeSet", "FakeSchema", "FakeTable", null, entityType);
var entityContainer = new EntityContainer("FakeContainer", DataSpace.CSpace);
entityContainer.AddEntitySetBase(entitySet);
entitySet.ChangeEntityContainerWithoutCollectionFixup(entityContainer);
entitySet.SetReadOnly();
var model = new EdmModel(DataSpace.CSpace);
var omicMock = new Mock<DefaultObjectMappingItemCollection>(new EdmItemCollection(model), new ObjectItemCollection())
{
CallBase = true
};
var objectTypeMapping = new ObjectTypeMapping(entityType, entityType);
objectTypeMapping.AddMemberMap(
new ObjectPropertyMapping((EdmProperty)entityType.Members.First(), (EdmProperty)entityType.Members.First()));
omicMock.Setup(m => m.GetMap(It.IsAny<GlobalItem>())).Returns(objectTypeMapping);
var metadataWorkspaceMock = new Mock<MetadataWorkspace>
{
CallBase = true
};
metadataWorkspaceMock.Setup(m => m.IsItemCollectionAlreadyRegistered(DataSpace.OSpace)).Returns(true);
metadataWorkspaceMock.Setup(m => m.IsItemCollectionAlreadyRegistered(DataSpace.SSpace)).Returns(true);
metadataWorkspaceMock.Setup(m => m.GetEntityContainer(It.IsAny<string>(), It.IsAny<DataSpace>()))
.Returns(entityContainer);
metadataWorkspaceMock.Setup(m => m.TryGetEntityContainer(It.IsAny<string>(), It.IsAny<DataSpace>(), out entityContainer))
.Returns(true);
var storeItemCollection = new StoreItemCollection(
GenericProviderFactory<DbProviderFactory>.Instance, new SqlProviderManifest("2008"), "System.Data.FakeSqlClient", "2008");
metadataWorkspaceMock.Setup(m => m.GetItemCollection(DataSpace.SSpace)).Returns(storeItemCollection);
#pragma warning disable 618
metadataWorkspaceMock.Object.RegisterItemCollection(omicMock.Object);
#pragma warning restore 618
var objectStateManagerMock = new Mock<ObjectStateManager>(metadataWorkspaceMock.Object)
{
CallBase = true
};
var entityKey = new EntityKey(entitySet, "keyValue");
var entityEntry = objectStateManagerMock.Object.AddKeyEntry(entityKey, entitySet);
var objectContextMock = Mock.Get(
CreateObjectContext(
metadataWorkspaceMock: metadataWorkspaceMock,
objectStateManagerMock: objectStateManagerMock));
var entityWrapperMock = new Mock<IEntityWrapper>();
entityWrapperMock.Setup(m => m.EntityKey).Returns(entityKey);
var entityWrapperFactoryMock = new Mock<EntityWrapperFactory>();
entityWrapperFactoryMock.Setup(
m => m.WrapEntityUsingStateManagerGettingEntry(
It.IsAny<object>(), It.IsAny<ObjectStateManager>(), out entityEntry))
.Returns(entityWrapperMock.Object);
objectContextMock.Setup(m => m.EntityWrapperFactory).Returns(entityWrapperFactoryMock.Object);
var executionPlanMock = new Mock<ObjectQueryExecutionPlan>(
MockBehavior.Loose, null, null, null, MergeOption.NoTracking, false, null, null);
executionPlanMock.Setup(
m => m.Execute<object>(It.IsAny<ObjectContext>(), It.IsAny<ObjectParameterCollection>()))
.Returns(objectResultMock.Object);
objectContextMock.Setup(
m => m.PrepareRefreshQuery(It.IsAny<RefreshMode>(), It.IsAny<EntitySet>(), It.IsAny<List<EntityKey>>(), It.IsAny<int>()))
.Returns(new Tuple<ObjectQueryExecutionPlan, int>(executionPlanMock.Object, 1));
// Verify that ExecuteInTransaction calls ObjectQueryExecutionPlan.Execute
objectContextMock.Setup(
m =>
m.ExecuteInTransaction(It.IsAny<Func<ObjectResult<object>>>(), It.IsAny<IDbExecutionStrategy>(), It.IsAny<bool>(), It.IsAny<bool>()))
.Returns<Func<ObjectResult<object>>, IDbExecutionStrategy, bool, bool>(
(f, t, s, r) =>
{
executionPlanMock.Verify(
m =>
m.Execute<object>(It.IsAny<ObjectContext>(), It.IsAny<ObjectParameterCollection>()),
Times.Never());
var result = f();
executionPlanMock.Verify(
m =>
m.Execute<object>(It.IsAny<ObjectContext>(), It.IsAny<ObjectParameterCollection>()),
Times.Once());
return result;
});
// Verify that ExecutionStrategy.Execute calls ExecuteInTransaction
var executionStrategyMock = new Mock<IDbExecutionStrategy>();
executionStrategyMock.Setup(m => m.Execute(It.IsAny<Func<ObjectResult<object>>>()))
//.........这里部分代码省略.........