Nib*_*Pig 5 .net scaffolding entity-framework-core entity-framework-migrations
我有一个简单的数据库,其中有一张表,该表具有各种属性。
我正在使用最新的 .NET core 6 和最新的 EF (6.0.4)
我想构建我的数据库以便它生成模型,所以我运行命令:
dotnet ef dbcontext scaffold "Server=MyServerName;Database=MyDBName;User Id=sa;Password=abc123;"
Microsoft.EntityFrameworkCore.SqlServer -o Model --no-pluralize -d -f
Run Code Online (Sandbox Code Playgroud)
-d 命令应该使用数据注释而不是流畅注释,但事实并非如此。我最终得到一个MyTable类,其中清楚地列出了属性,例如public int MyTableId; public string MyTableProperty;....,然后在我的MyDBNameContext类OnModelCreating方法中,有几页这样的内容:
modelBuilder.Entity<MyTable>(entity =>
{
entity.HasIndex(e => e.SomeColumn, "idx_somecolumn");
entity.Property(e => e.firstcolumn)
.HasColumnType("decimal(8, 1)")
.HasColumnName("FirstColumn");
...
Run Code Online (Sandbox Code Playgroud)
这真是太可怕了。帮助中是这么说的:
-d|--data-annotations 使用属性来配置模型(如果可能)。如果省略,则仅使用 Fluent API。
我可以煞费苦心地手动完成并添加注释,但如果我将来由于更改而重新生成,那么它将撤消我的工作。
数据注释属性不起作用是否有原因?
我无法删除我的问题,所以我只能在这里发布答案......
这是一个错误!
-d不是在工作,而是--data-annotations在工作。
https://github.com/dotnet/efcore/issues/26687
| 归档时间: |
|
| 查看次数: |
2400 次 |
| 最近记录: |