dotnet / dotnet/EntityFramework.Docs
Document how to compensate for conventions different in EF Core than EF6
- Dominant language
- Mermaid
- Stars
- 1.7k
- Forks
- 2k
- Avg merge
- 7d 23h
- Merged PRs (30d)
- 16
Description
For example, shadow FK property names in EF Core are `PrincipalId` rather than the `Principal_Id` name used by independent associations in EF6. This can be fixed with something like:
```C#
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
// Other model building here...
foreach (var foreignKey in modelBuilder.Model.GetEntityTypes().SelectMany(e => e.GetDeclaredForeignKeys()))
{
// Note that something different would be needed for composite keys
if (foreignKey.Properties.Count == 1)
{
foreignKey.Properties[0].SetColumnName(foreignKey.PrincipalEntityType.Name + "_Id");
}
}
}
```
Contributor guide
Assessment
This issue has not been assessed yet.