本文整理汇总了C#中Microsoft.Data.Entity.Metadata.Model.GetOrSetPrimaryKey方法的典型用法代码示例。如果您正苦于以下问题:C# Model.GetOrSetPrimaryKey方法的具体用法?C# Model.GetOrSetPrimaryKey怎么用?C# Model.GetOrSetPrimaryKey使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Microsoft.Data.Entity.Metadata.Model
的用法示例。
在下文中一共展示了Model.GetOrSetPrimaryKey方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: 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);
}
示例2: 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);
}
示例3: CreateSelfRefFK
private ForeignKey CreateSelfRefFK()
{
var entityType = new Model().AddEntityType(typeof(SelfRef));
var pk = entityType.GetOrSetPrimaryKey(entityType.GetOrAddProperty("Id", typeof(int)));
var fkProp = entityType.GetOrAddProperty("SelfRefId", typeof(int?));
var fk = entityType.AddForeignKey(new[] { fkProp }, pk);
fk.IsUnique = true;
entityType.AddNavigation("SelfRefPrincipal", fk, pointsToPrincipal: true);
entityType.AddNavigation("SelfRefDependent", fk, pointsToPrincipal: false);
return fk;
}
示例4: CreateOneToManyFK
private ForeignKey CreateOneToManyFK()
{
var principalEntityType = new Model().AddEntityType(typeof(OneToManyPrincipal));
var pk = principalEntityType.GetOrSetPrimaryKey(principalEntityType.GetOrAddProperty("Id", typeof(int)));
var dependentEntityType = new Model().AddEntityType(typeof(OneToManyDependent));
var fkProp = dependentEntityType.GetOrAddProperty("Id", typeof(int));
return dependentEntityType.AddForeignKey(new[] { fkProp }, pk);
}
示例5: 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);
}
示例6: 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);
}
示例7: 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);
}
示例8: 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);
}
示例9: 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);
}