我正在使用ASP.Net MVC 5和Entity Framework 6开发Web应用程序。我已经基于以下数据库模式执行了数据库首次迁移。
CREATE TABLE IF NOT EXISTS `database`.`table_name` (
`id` INT NOT NULL AUTO_INCREMENT,
`some_value` INT NULL,
`some_other_value` INT NULL,
`some_other_ohter_value` INT NULL,
PRIMARY KEY (`id`)
);
这导致生成以下类:
public partial class table_name
{
public int id { get; set; }
public int some_value { get; set; }
public int some_other_value { get; set; }
public int some_other_ohter_value { get; set; }
}
请注意,类名和属性与表模式的名称和属性直接匹配。 有没有办法让这个类按照下面的每个C#命名约定遵循Pascal Case?
public partial class TableName
{
public int Id { get; set; }
public int SomeValue { get; set; }
public int SomeOtherValue { get; set; }
public int SomeOtherOtherValue { get; set; }
}
答案 0 :(得分:5)
您是如何进行数据库首次迁移的?
如果从架构生成数据库并运行此命令(在visual studio包管理器控制台中),我发现生成的代码遵循C#标准命名约定。
$tables = @('table_name')
Scaffold-DbContext $connstring Microsoft.EntityFrameworkCore.SqlServer -OutputDir 'DataAccess/Models' -Tables $tables -Force
您需要使用Microsoft.EntityFrameworkCore.Tools
nuget包来访问Scaffold-DbContext
cmdlet。
来源:https://docs.microsoft.com/en-us/ef/core/get-started/aspnetcore/existing-db