База данных Entity Framework - первый подход, случай Паскаля - PullRequest
0 голосов
/ 03 ноября 2019

Я использую EF Core 3.0 с подходом на основе базы данных к Scaffold-DbContext из базы данных SQL Server:

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

Когда модели генерируются, он использует указанное именование для переменной, например:

, если столбец в базе данных называется, например,

  • ISBuy становится Isbuy
  • CategoryID => CategoryId

и это действительно пропускает мою систему ...

Есть ли способ предотвратить это преобразование и сгенерировать имя переменной с тем же именем, что и у базы данных, или существует супермагический способ предотвратить простоони и используют случай верблюда, как это делает EF Core?

И я не говорю об объекте, который вернулся из API, потому что я нашел много решений для этого случая, но никогда этого.

Спасибо

1 Ответ

0 голосов
/ 04 ноября 2019

Добавьте --use-database-names в CLI .NET Core,

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

, ссылаясь на

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

- use-database-names
Используйте имена таблиц и столбцов в точности так, как они отображаются в базе данных. Если этот параметр не указан, имена баз данных изменяются для более точного соответствия соглашениям о стилях имен C #.

...