本文整理汇总了C#中System.Data.Entity.Core.Metadata.Edm.EdmModel.GetAssociationType方法的典型用法代码示例。如果您正苦于以下问题:C# EdmModel.GetAssociationType方法的具体用法?C# EdmModel.GetAssociationType怎么用?C# EdmModel.GetAssociationType使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Data.Entity.Core.Metadata.Edm.EdmModel
的用法示例。
在下文中一共展示了EdmModel.GetAssociationType方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Can_set_owner_and_corresponding_association_added_to_model
public void Can_set_owner_and_corresponding_association_added_to_model()
{
var database = new EdmModel(DataSpace.SSpace);
var foreignKeyBuilder = new ForeignKeyBuilder(database, "FK");
var principalTable = database.AddTable("P");
foreignKeyBuilder.PrincipalTable = principalTable;
var dependentTable = database.AddTable("D");
foreignKeyBuilder.SetOwner(dependentTable);
var associationType = database.GetAssociationType("FK");
Assert.NotNull(associationType);
Assert.NotNull(associationType.SourceEnd);
Assert.NotNull(associationType.TargetEnd);
Assert.Same(principalTable, associationType.SourceEnd.GetEntityType());
Assert.Equal("P", associationType.SourceEnd.Name);
Assert.Same(dependentTable, associationType.TargetEnd.GetEntityType());
Assert.Equal("D", associationType.TargetEnd.Name);
var associationSet = database.GetAssociationSet(associationType);
Assert.NotNull(associationSet);
Assert.NotNull(associationSet.SourceSet);
Assert.NotNull(associationSet.TargetSet);
}
示例2: SetOwner_when_null_should_remove_association_type_from_model
public void SetOwner_when_null_should_remove_association_type_from_model()
{
var database = new EdmModel(DataSpace.SSpace);
var foreignKeyBuilder = new ForeignKeyBuilder(database, "FK");
var principalTable = database.AddTable("P");
foreignKeyBuilder.PrincipalTable = principalTable;
var dependentTable = database.AddTable("D");
foreignKeyBuilder.SetOwner(dependentTable);
Assert.NotNull(database.GetAssociationType("FK"));
foreignKeyBuilder.SetOwner(null);
Assert.Null(database.GetAssociationType("FK"));
}
示例3: GetAssociationType_should_return_correct_type
public void GetAssociationType_should_return_correct_type()
{
var model = new EdmModel(DataSpace.CSpace);
var associationType
= new AssociationType("A", XmlConstants.ModelNamespace_3, false, DataSpace.CSpace)
{
SourceEnd = new AssociationEndMember("S", new EntityType("E", "N", DataSpace.CSpace)),
TargetEnd = new AssociationEndMember("T", new EntityType("E", "N", DataSpace.CSpace)),
Name = "Foo"
};
model.AddItem(associationType);
Assert.Same(associationType, model.GetAssociationType("Foo"));
}
示例4: SetOwner_when_self_ref_should_differentiate_target_end_name
public void SetOwner_when_self_ref_should_differentiate_target_end_name()
{
var database = new EdmModel(DataSpace.SSpace);
var foreignKeyBuilder = new ForeignKeyBuilder(database, "FK");
var table = database.AddTable("T");
foreignKeyBuilder.PrincipalTable = table;
foreignKeyBuilder.SetOwner(table);
var associationType = database.GetAssociationType("FK");
Assert.Same(table, associationType.SourceEnd.GetEntityType());
Assert.Equal("T", associationType.SourceEnd.Name);
Assert.Same(table, associationType.TargetEnd.GetEntityType());
Assert.Equal("TSelf", associationType.TargetEnd.Name);
}
示例5: Can_get_and_set_delete_action
public void Can_get_and_set_delete_action()
{
var database = new EdmModel(DataSpace.SSpace);
var foreignKeyBuilder = new ForeignKeyBuilder(database, "FK");
var table = database.AddTable("T");
foreignKeyBuilder.PrincipalTable = table;
foreignKeyBuilder.SetOwner(table);
foreignKeyBuilder.DeleteAction = OperationAction.Cascade;
var associationType = database.GetAssociationType("FK");
Assert.Equal(OperationAction.Cascade, associationType.SourceEnd.DeleteBehavior);
}
示例6: Can_get_and_set_dependent_columns_and_multiplicities_assigned
public void Can_get_and_set_dependent_columns_and_multiplicities_assigned()
{
var database = new EdmModel(DataSpace.SSpace);
var foreignKeyBuilder = new ForeignKeyBuilder(database, "FK");
var table = database.AddTable("T");
foreignKeyBuilder.PrincipalTable = table;
foreignKeyBuilder.SetOwner(table);
var property = EdmProperty.Primitive("K", PrimitiveType.GetEdmPrimitiveType(PrimitiveTypeKind.String));
foreignKeyBuilder.DependentColumns = new[] { property };
Assert.Equal(1, foreignKeyBuilder.DependentColumns.Count());
var associationType = database.GetAssociationType("FK");
Assert.NotNull(associationType.Constraint);
Assert.Same(property, associationType.Constraint.ToProperties.Single());
Assert.Same(associationType.SourceEnd, associationType.Constraint.FromRole);
Assert.Same(associationType.TargetEnd, associationType.Constraint.ToRole);
Assert.Equal(RelationshipMultiplicity.Many, associationType.TargetEnd.RelationshipMultiplicity);
Assert.Equal(RelationshipMultiplicity.ZeroOrOne, associationType.SourceEnd.RelationshipMultiplicity);
property.Nullable = false;
foreignKeyBuilder.DependentColumns = new[] { property };
Assert.Equal(RelationshipMultiplicity.One, associationType.SourceEnd.RelationshipMultiplicity);
}
示例7: AssociationSet_TargetEnd_correct_after_setting_owner
public void AssociationSet_TargetEnd_correct_after_setting_owner()
{
var database = new EdmModel(DataSpace.SSpace);
var foreignKeyBuilder = new ForeignKeyBuilder(database, "FK");
foreignKeyBuilder.PrincipalTable = database.AddTable("P");
foreignKeyBuilder.SetOwner(database.AddTable("T"));
var associationType = database.GetAssociationType("FK");
var associationSet = database.GetAssociationSet(associationType);
Assert.Equal("T", associationType.TargetEnd.Name);
Assert.Equal("T", associationSet.TargetEnd.Name);
foreignKeyBuilder.SetOwner(database.AddTable("T1"));
Assert.Equal("T1", associationType.TargetEnd.Name);
Assert.Equal("T1", associationSet.TargetEnd.Name);
}
示例8: SetOwner_when_null_should_remove_association_type_from_model
public void SetOwner_when_null_should_remove_association_type_from_model()
{
var database
= new EdmModel
{
Version = 3.0
}.DbInitialize();
var foreignKeyBuilder = new ForeignKeyBuilder(database, "FK");
var principalTable = new EntityType("P", XmlConstants.TargetNamespace_3, DataSpace.SSpace);
foreignKeyBuilder.PrincipalTable = principalTable;
var dependentTable = new EntityType("D", XmlConstants.TargetNamespace_3, DataSpace.SSpace);
foreignKeyBuilder.SetOwner(dependentTable);
Assert.NotNull(database.GetAssociationType("FK"));
foreignKeyBuilder.SetOwner(null);
Assert.Null(database.GetAssociationType("FK"));
}
示例9: Can_get_and_set_delete_action
public void Can_get_and_set_delete_action()
{
var database
= new EdmModel
{
Version = 3.0
}.DbInitialize();
var foreignKeyBuilder = new ForeignKeyBuilder(database, "FK");
var table = new EntityType("T", XmlConstants.TargetNamespace_3, DataSpace.SSpace);
foreignKeyBuilder.PrincipalTable = table;
foreignKeyBuilder.SetOwner(table);
foreignKeyBuilder.DeleteAction = OperationAction.Cascade;
var associationType = database.GetAssociationType("FK");
Assert.Equal(OperationAction.Cascade, associationType.SourceEnd.DeleteBehavior);
}
示例10: Set_principal_table_when_self_ref_should_differentiate_target_end_name
public void Set_principal_table_when_self_ref_should_differentiate_target_end_name()
{
var database
= new EdmModel
{
Version = 3.0
}.DbInitialize();
var foreignKeyBuilder = new ForeignKeyBuilder(database, "FK");
var table = new EntityType("T", XmlConstants.TargetNamespace_3, DataSpace.SSpace);
foreignKeyBuilder.PrincipalTable = new EntityType("P", XmlConstants.TargetNamespace_3, DataSpace.SSpace);
foreignKeyBuilder.SetOwner(table);
var associationType = database.GetAssociationType("FK");
Assert.Equal("P", associationType.SourceEnd.Name);
Assert.Equal("T", associationType.TargetEnd.Name);
foreignKeyBuilder.PrincipalTable = table;
Assert.Same(table, associationType.SourceEnd.GetEntityType());
Assert.Equal("T", associationType.SourceEnd.Name);
Assert.Same(table, associationType.TargetEnd.GetEntityType());
Assert.Equal("TSelf", associationType.TargetEnd.Name);
}