本文整理汇总了C#中System.Data.Entity.Core.Metadata.Edm.EdmModel.GetEntityTypes方法的典型用法代码示例。如果您正苦于以下问题:C# EdmModel.GetEntityTypes方法的具体用法?C# EdmModel.GetEntityTypes怎么用?C# EdmModel.GetEntityTypes使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Data.Entity.Core.Metadata.Edm.EdmModel
的用法示例。
在下文中一共展示了EdmModel.GetEntityTypes方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: FixNavigationProperties
private static void FixNavigationProperties(
EdmModel model, AssociationType unifiedAssociation, AssociationType redundantAssociation)
{
foreach (var navigationProperty
in model.GetEntityTypes()
.SelectMany(e => e.NavigationProperties)
.Where(np => np.Association == redundantAssociation))
{
navigationProperty.RelationshipType = unifiedAssociation;
navigationProperty.ToEndMember = unifiedAssociation.SourceEnd;
}
}
示例2: ConfigureTables
private static void ConfigureTables(EdmModel database)
{
DebugCheck.NotNull(database);
foreach (var table in database.GetEntityTypes().ToList())
{
ConfigureTable(database, table);
}
}
示例3: Configure
internal override void Configure(
StorageAssociationSetMapping associationSetMapping, EdmModel database, PropertyInfo navigationProperty)
{
DebugCheck.NotNull(associationSetMapping);
DebugCheck.NotNull(database);
DebugCheck.NotNull(navigationProperty);
// By convention source end contains the dependent column mappings
var propertyMappings = associationSetMapping.SourceEndMapping.PropertyMappings.ToList();
if (_tableName != null)
{
var targetTable
= ((from t in database.GetEntityTypes()
let n = t.GetTableName()
where (n != null && n.Equals(_tableName))
select t)
.SingleOrDefault())
?? (from es in database.GetEntitySets()
where string.Equals(es.Table, _tableName.Name, StringComparison.Ordinal)
select es.ElementType).SingleOrDefault();
if (targetTable == null)
{
throw Error.TableNotFound(_tableName);
}
var sourceTable = associationSetMapping.Table;
if (sourceTable != targetTable)
{
var foreignKeyConstraint
= sourceTable.ForeignKeyBuilders
.Single(fk => fk.DependentColumns.SequenceEqual(propertyMappings.Select(pm => pm.ColumnProperty)));
sourceTable.RemoveForeignKey(foreignKeyConstraint);
targetTable.AddForeignKey(foreignKeyConstraint);
foreignKeyConstraint.DependentColumns
.Each(
c =>
{
var isKey = c.IsPrimaryKeyColumn;
sourceTable.RemoveMember(c);
targetTable.AddMember(c);
if (isKey)
{
targetTable.AddKeyMember(c);
}
});
associationSetMapping.StoreEntitySet = database.GetEntitySet(targetTable);
}
}
if ((_keyColumnNames.Count > 0)
&& (_keyColumnNames.Count != propertyMappings.Count()))
{
throw Error.IncorrectColumnCount(string.Join(", ", _keyColumnNames));
}
_keyColumnNames.Each((n, i) => propertyMappings[i].ColumnProperty.Name = n);
}