using System.Linq; using Microsoft.EntityFrameworkCore; using Xunit; namespace EFCore.NamingConventions.Test { public class LowerCaseNamingTest : RewriterTestBase { [Fact] public void Table_name_is_rewritten() { using var context = CreateContext(); var entityType = context.Model.FindEntityType(typeof(SimpleBlog)); Assert.Equal("simpleblog", entityType.GetTableName()); } [Fact] public void Column_name_is_rewritten() { using var context = CreateContext(); var entityType = context.Model.FindEntityType(typeof(SimpleBlog)); Assert.Equal("id", entityType.FindProperty("Id").GetColumnName()); Assert.Equal("fullname", entityType.FindProperty("FullName").GetColumnName()); } [Fact] public void Primary_key_name_is_rewritten() { using var context = CreateContext(); var entityType = context.Model.FindEntityType(typeof(SimpleBlog)); Assert.Equal("pk_simpleblog", entityType.GetKeys().Single().GetName()); } [Fact] public void Foreign_key_name_is_rewritten() { using var context = CreateContext(); var entityType = context.Model.FindEntityType(typeof(Post)); Assert.Equal("fk_post_simpleblog_blogid", entityType.GetForeignKeys().Single().GetConstraintName()); } [Fact] public void Index_name_is_rewritten() { using var context = CreateContext(); var entityType = context.Model.FindEntityType(typeof(SimpleBlog)); Assert.Equal("ix_simpleblog_fullname", entityType.GetIndexes().Single().GetName()); } TestContext CreateContext() => new TestContext(NamingConventionsExtensions.UseLowerCaseNamingConvention); } }