Entity Framework database-first approach Pascal case

.net .net-core asp.net-core-webapi camelcasing entity-framework-core

Question

I am using EF Core 3.0 with a database-first approach to Scaffold-DbContext from a SQL Server database:

dotnet ef dbcontext 
       scaffold "Server=***;Database=***;User Id=***;Password=****;" Microsoft.EntityFrameworkCore.SqlServer 
       -o Models -c "MyContext" --project=Data

When the models are generated, it uses a specified naming for the variable for example:

if the column in the database called for example

  • ISBuy becomes Isbuy
  • CategoryID => CategoryId

and this really misses up my system ...

Is there is a way to prevent that converting and generate variable name with the same as database or is there is a super magical way to prevent just these and use camel case as EF Core does?

And I am not talking about the object that returned from the API because I found a lot of solutions for that case but never this one.

Thanks

1
0
11/3/2019 9:12:12 PM

Accepted Answer

Add --use-database-names in your .NET Core CLI,

dotnet ef dbcontext 
   scaffold "Server=***;Database=***;User Id=***;Password=****;" Microsoft.EntityFrameworkCore.SqlServer 
   -o Models -c "MyContext" --project=Data --use-database-names

refer to

https://docs.microsoft.com/en-us/ef/core/miscellaneous/cli/dotnet#dotnet-ef-dbcontext-scaffold

--use-database-names
Use table and column names exactly as they appear in the database. If this option is omitted, database names are changed to more closely conform to C# name style conventions.

0
11/4/2019 1:41:10 AM


Related Questions





Related

Licensed under: CC-BY-SA with attribution
Not affiliated with Stack Overflow
Licensed under: CC-BY-SA with attribution
Not affiliated with Stack Overflow