mirror of
https://github.com/fergalmoran/EFCore.NamingConventions.git
synced 2025-12-22 01:28:13 +00:00
Version 7.0.0-rc.2 (#167)
This commit is contained in:
6
.github/workflows/build.yml
vendored
6
.github/workflows/build.yml
vendored
@@ -4,16 +4,14 @@ on: [push, pull_request]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-20.04
|
||||
runs-on: ubuntu-22.04
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Setup .NET Core SDK
|
||||
uses: actions/setup-dotnet@v3.0.2
|
||||
with:
|
||||
dotnet-version: '6.0.100-rc.1.21463.6'
|
||||
uses: actions/setup-dotnet@v3
|
||||
|
||||
- name: Test
|
||||
run: dotnet test
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<Project>
|
||||
<PropertyGroup>
|
||||
<EFCoreVersion>6.0.10</EFCoreVersion>
|
||||
<MicrosoftExtensionsVersion>6.0.0</MicrosoftExtensionsVersion>
|
||||
<EFCoreVersion>7.0.0-rc.2.22472.11</EFCoreVersion>
|
||||
<MicrosoftExtensionsVersion>7.0.0-rc.2.22472.3</MicrosoftExtensionsVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net6.0</TargetFramework>
|
||||
<TargetFramework>net7.0</TargetFramework>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
@@ -17,7 +17,7 @@ public class SqliteTestHelpers : TestHelpers
|
||||
public override IServiceCollection AddProviderServices(IServiceCollection services)
|
||||
=> services.AddEntityFrameworkSqlite();
|
||||
|
||||
public override void UseProviderOptions(DbContextOptionsBuilder optionsBuilder)
|
||||
public override DbContextOptionsBuilder UseProviderOptions(DbContextOptionsBuilder optionsBuilder)
|
||||
=> optionsBuilder.UseSqlite(new SqliteConnection("Data Source=:memory:"));
|
||||
|
||||
#pragma warning disable EF1001
|
||||
|
||||
@@ -9,6 +9,7 @@ ProjectSection(SolutionItems) = preProject
|
||||
Directory.Build.props = Directory.Build.props
|
||||
.github\workflows\build.yml = .github\workflows\build.yml
|
||||
Directory.Packages.props = Directory.Packages.props
|
||||
global.json = global.json
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Global
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net6.0</TargetFramework>
|
||||
<VersionPrefix>6.0.0</VersionPrefix>
|
||||
<VersionPrefix>7.0.0-rc.2</VersionPrefix>
|
||||
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
|
||||
<SignAssembly>true</SignAssembly>
|
||||
<AssemblyOriginatorKeyFile>../EFCore.NamingConventions.snk</AssemblyOriginatorKeyFile>
|
||||
@@ -11,7 +11,7 @@
|
||||
<EmbedUntrackedSources>true</EmbedUntrackedSources>
|
||||
<Description>Naming Conventions for Entity Framework Core Tables and Columns.</Description>
|
||||
<Authors>Shay Rojansky</Authors>
|
||||
<Copyright>Copyright 2021 © Shay Rojansky</Copyright>
|
||||
<Copyright>Copyright 2022 © Shay Rojansky</Copyright>
|
||||
<PackageTags>Entity Framework Core;entity-framework-core;ef;efcore;orm;sql</PackageTags>
|
||||
<PackageLicenseExpression>Apache-2.0</PackageLicenseExpression>
|
||||
<RepositoryType>git</RepositoryType>
|
||||
|
||||
@@ -216,32 +216,40 @@ public class NameRewritingConvention :
|
||||
{
|
||||
foreach (var property in entityType.GetProperties())
|
||||
{
|
||||
var columnName = property.GetColumnBaseName();
|
||||
var columnName = property.GetColumnName();
|
||||
if (columnName.StartsWith(entityType.ShortName() + '_', StringComparison.Ordinal))
|
||||
{
|
||||
property.Builder.HasColumnName(
|
||||
_namingNameRewriter.RewriteName(entityType.ShortName()) + columnName.Substring(entityType.ShortName().Length));
|
||||
}
|
||||
|
||||
foreach (var storeObjectType in _storeObjectTypes)
|
||||
{
|
||||
var identifier = StoreObjectIdentifier.Create(entityType, storeObjectType);
|
||||
if (identifier is null)
|
||||
var storeObject = StoreObjectIdentifier.Create(entityType, StoreObjectType.Table);
|
||||
if (storeObject is null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (property.GetColumnNameConfigurationSource(identifier.Value) != ConfigurationSource.Convention)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
var shortName = entityType.ShortName();
|
||||
|
||||
columnName = property.GetColumnName(identifier.Value);
|
||||
if (columnName.StartsWith(entityType.ShortName() + '_', StringComparison.Ordinal))
|
||||
if (property.Builder.CanSetColumnName(null))
|
||||
{
|
||||
columnName = property.GetColumnName();
|
||||
if (columnName.StartsWith(shortName + '_', StringComparison.Ordinal))
|
||||
{
|
||||
property.Builder.HasColumnName(
|
||||
_namingNameRewriter.RewriteName(entityType.ShortName())
|
||||
+ columnName.Substring(entityType.ShortName().Length));
|
||||
_namingNameRewriter.RewriteName(shortName)
|
||||
+ columnName.Substring(shortName.Length));
|
||||
}
|
||||
}
|
||||
|
||||
if (property.Builder.CanSetColumnName(null, storeObject.Value))
|
||||
{
|
||||
columnName = property.GetColumnName(storeObject.Value);
|
||||
if (columnName is not null && columnName.StartsWith(shortName + '_', StringComparison.Ordinal))
|
||||
{
|
||||
property.Builder.HasColumnName(
|
||||
_namingNameRewriter.RewriteName(shortName) + columnName.Substring(shortName.Length),
|
||||
storeObject.Value);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -260,7 +268,7 @@ public class NameRewritingConvention :
|
||||
// but https://github.com/dotnet/efcore/pull/23834
|
||||
var baseColumnName = StoreObjectIdentifier.Create(property.DeclaringEntityType, StoreObjectType.Table) is { } tableIdentifier
|
||||
? property.GetDefaultColumnName(tableIdentifier)
|
||||
: property.GetDefaultColumnBaseName();
|
||||
: property.GetDefaultColumnName();
|
||||
propertyBuilder.HasColumnName(_namingNameRewriter.RewriteName(baseColumnName));
|
||||
|
||||
foreach (var storeObjectType in _storeObjectTypes)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"sdk": {
|
||||
"version": "6.0.100-rc.1.21463.6",
|
||||
"version": "7.0.100-rc.2.22477.23",
|
||||
"rollForward": "latestMajor",
|
||||
"allowPrerelease": "true"
|
||||
"allowPrerelease": true
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user