本文整理汇总了C#中Microsoft.Data.Entity.Metadata.Model.GetPrimaryKey方法的典型用法代码示例。如果您正苦于以下问题:C# Model.GetPrimaryKey方法的具体用法?C# Model.GetPrimaryKey怎么用?C# Model.GetPrimaryKey使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Microsoft.Data.Entity.Metadata.Model
的用法示例。
在下文中一共展示了Model.GetPrimaryKey方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Can_create_foreign_key
public void Can_create_foreign_key()
{
var entityType = new Model().AddEntityType("E");
var dependentProp = entityType.GetOrAddProperty("P", typeof(int), shadowProperty: true);
var principalProp = entityType.GetOrAddProperty("Id", typeof(int), shadowProperty: true);
entityType.GetOrSetPrimaryKey(principalProp);
var foreignKey
= new ForeignKey(new[] { dependentProp }, entityType.GetPrimaryKey())
{
IsUnique = true
};
Assert.Same(entityType, foreignKey.PrincipalEntityType);
Assert.Same(principalProp, foreignKey.PrincipalKey.Properties.Single());
Assert.Same(dependentProp, foreignKey.Properties.Single());
Assert.True(foreignKey.IsUnique.Value);
Assert.Same(entityType.GetPrimaryKey(), foreignKey.PrincipalKey);
}
示例2: Principal_and_depedent_property_count_must_match
public void Principal_and_depedent_property_count_must_match()
{
var dependentType = new Model().AddEntityType("D");
var principalType = new Model().AddEntityType("P");
var dependentProperty1 = dependentType.GetOrAddProperty("P1", typeof(int), shadowProperty: true);
var dependentProperty2 = dependentType.GetOrAddProperty("P2", typeof(int), shadowProperty: true);
principalType.GetOrSetPrimaryKey(principalType.GetOrAddProperty("Id", typeof(int), shadowProperty: true));
Assert.Equal(
Strings.ForeignKeyCountMismatch("{'P1', 'P2'}", "D", "{'Id'}", "P"),
Assert.Throws<InvalidOperationException>(
() => new ForeignKey(new[] { dependentProperty1, dependentProperty2 }, principalType.GetPrimaryKey())).Message);
}
示例3: Setting_IsRequired_to_false_will_set_all_FK_properties_as_nullable
public void Setting_IsRequired_to_false_will_set_all_FK_properties_as_nullable()
{
var entityType = new Model().AddEntityType("E");
entityType.GetOrSetPrimaryKey(new[]
{
entityType.GetOrAddProperty("Id1", typeof(int), shadowProperty: true),
entityType.GetOrAddProperty("Id2", typeof(string), shadowProperty: true)
});
var dependentProp1 = entityType.GetOrAddProperty("P1", typeof(int?), shadowProperty: true);
var dependentProp2 = entityType.GetOrAddProperty("P2", typeof(string), shadowProperty: true);
var foreignKey = new ForeignKey(new[] { dependentProp1, dependentProp2 }, entityType.GetPrimaryKey()) { IsRequired = false };
Assert.False(foreignKey.IsRequired.Value);
Assert.True(dependentProp1.IsNullable.Value);
Assert.True(dependentProp2.IsNullable.Value);
}
示例4: IsRequired_false_when_any_part_of_composite_FK_is_nullable
public void IsRequired_false_when_any_part_of_composite_FK_is_nullable()
{
var entityType = new Model().AddEntityType("E");
entityType.GetOrSetPrimaryKey(new[]
{
entityType.GetOrAddProperty("Id1", typeof(int), shadowProperty: true),
entityType.GetOrAddProperty("Id2", typeof(string), shadowProperty: true)
});
var dependentProp1 = entityType.GetOrAddProperty("P1", typeof(int), shadowProperty: true);
var dependentProp2 = entityType.GetOrAddProperty("P2", typeof(string), shadowProperty: true);
dependentProp2.IsNullable = true;
var foreignKey = new ForeignKey(new[] { dependentProp1, dependentProp2 }, entityType.GetPrimaryKey());
Assert.Null(foreignKey.IsRequired);
Assert.False(((IForeignKey)foreignKey).IsRequired);
dependentProp2.IsNullable = false;
Assert.Null(foreignKey.IsRequired);
Assert.True(((IForeignKey)foreignKey).IsRequired);
}
示例5: IsRequired_false_for_composite_FK_by_default
public void IsRequired_false_for_composite_FK_by_default()
{
var entityType = new Model().AddEntityType("E");
entityType.GetOrSetPrimaryKey(new[]
{
entityType.GetOrAddProperty("Id1", typeof(int), shadowProperty: true),
entityType.GetOrAddProperty("Id2", typeof(string), shadowProperty: true)
});
var dependentProp1 = entityType.GetOrAddProperty("P1", typeof(int), shadowProperty: true);
var dependentProp2 = entityType.GetOrAddProperty("P2", typeof(string), shadowProperty: true);
var foreignKey = new ForeignKey(new[] { dependentProp1, dependentProp2 }, entityType.GetPrimaryKey());
Assert.Null(foreignKey.IsRequired);
Assert.False(((IForeignKey)foreignKey).IsRequired);
}
示例6: IsRequired_and_IsUnique_null_when_dependent_property_nullable_by_default
public void IsRequired_and_IsUnique_null_when_dependent_property_nullable_by_default()
{
var entityType = new Model().AddEntityType("E");
entityType.GetOrSetPrimaryKey(entityType.GetOrAddProperty("Id", typeof(int), shadowProperty: true));
var dependentProp = entityType.GetOrAddProperty("P", typeof(int?), shadowProperty: true);
var foreignKey = new ForeignKey(new[] { dependentProp }, entityType.GetPrimaryKey());
Assert.Null(foreignKey.IsRequired);
Assert.False(((IForeignKey)foreignKey).IsRequired);
Assert.Null(foreignKey.IsUnique);
Assert.False(((IForeignKey)foreignKey).IsUnique);
}
示例7: IsRequired_true_when_dependent_property_not_nullable
public void IsRequired_true_when_dependent_property_not_nullable()
{
var entityType = new Model().AddEntityType("E");
entityType.GetOrSetPrimaryKey(entityType.GetOrAddProperty("Id", typeof(int), shadowProperty: true));
var dependentProp = entityType.GetOrAddProperty("P", typeof(int), shadowProperty: true);
dependentProp.IsNullable = false;
var foreignKey = new ForeignKey(new[] { dependentProp }, entityType.GetPrimaryKey());
Assert.Null(foreignKey.IsRequired);
Assert.True(((IForeignKey)foreignKey).IsRequired);
}