本文整理汇总了C#中Microsoft.EntityFrameworkCore.Metadata.Internal.Model.GetOrAddEntityType方法的典型用法代码示例。如果您正苦于以下问题:C# Model.GetOrAddEntityType方法的具体用法?C# Model.GetOrAddEntityType怎么用?C# Model.GetOrAddEntityType使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Microsoft.EntityFrameworkCore.Metadata.Internal.Model
的用法示例。
在下文中一共展示了Model.GetOrAddEntityType方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Cannot_remove_entity_type_when_referenced_by_foreign_key
public void Cannot_remove_entity_type_when_referenced_by_foreign_key()
{
var model = new Model();
var customerType = model.GetOrAddEntityType(typeof(Customer));
var idProperty = customerType.GetOrAddProperty(Customer.IdProperty);
var customerKey = customerType.GetOrAddKey(idProperty);
var orderType = model.GetOrAddEntityType(typeof(Order));
var customerFk = orderType.GetOrAddProperty(Order.CustomerIdProperty);
orderType.AddForeignKey(customerFk, customerKey, customerType);
Assert.Equal(
CoreStrings.EntityTypeInUseByForeignKey(
typeof(Customer).Name,
"{'" + Order.CustomerIdProperty.Name + "'}",
typeof(Order).Name),
Assert.Throws<InvalidOperationException>(() => model.RemoveEntityType(customerType.Name)).Message);
}
示例2: Can_add_and_remove_entity_by_type
public void Can_add_and_remove_entity_by_type()
{
var model = new Model();
Assert.Null(model.FindEntityType(typeof(Customer)));
Assert.Null(model.RemoveEntityType(typeof(Customer)));
var entityType = model.AddEntityType(typeof(Customer));
Assert.Equal(typeof(Customer), entityType.ClrType);
Assert.NotNull(model.FindEntityType(typeof(Customer)));
Assert.Same(model, entityType.Model);
Assert.NotNull(entityType.Builder);
Assert.Same(entityType, model.GetOrAddEntityType(typeof(Customer)));
Assert.Equal(new[] { entityType }, model.GetEntityTypes().ToArray());
Assert.Same(entityType, model.RemoveEntityType(entityType.ClrType));
Assert.Null(model.RemoveEntityType(entityType.ClrType));
Assert.Null(model.FindEntityType(typeof(Customer)));
Assert.Null(entityType.Builder);
}
示例3: Can_get_entity_by_name
public void Can_get_entity_by_name()
{
var model = new Model();
var entityType = model.GetOrAddEntityType(typeof(Customer).FullName);
Assert.Same(entityType, model.FindEntityType(typeof(Customer).FullName));
Assert.Same(entityType, model.FindEntityType(typeof(Customer).FullName));
Assert.Null(model.FindEntityType(typeof(string)));
}
示例4: Cannot_remove_entity_type_when_it_has_derived_types
public void Cannot_remove_entity_type_when_it_has_derived_types()
{
var model = new Model();
var customerType = model.GetOrAddEntityType(typeof(Customer));
var specialCustomerType = model.GetOrAddEntityType(typeof(SpecialCustomer));
specialCustomerType.HasBaseType(customerType);
Assert.Equal(
CoreStrings.EntityTypeInUseByDerived(typeof(Customer).Name, typeof(SpecialCustomer).Name),
Assert.Throws<InvalidOperationException>(() => model.RemoveEntityType(customerType.Name)).Message);
}