我有一个简单的数据库和一个表,它有各种属性.

我用的是最新的.最新EF(6.0.4)的NET core 6

我想构建数据库,使其生成模型,因此我运行以下命令:

dotnet ef dbcontext scaffold "Server=MyServerName;Database=MyDBName;User Id=sa;Password=abc123;" 
Microsoft.EntityFrameworkCore.SqlServer -o Model --no-pluralize -d -f

d命令应该使用数据注释,而不是fluent注释,但是它没有.最后,我得到了一个MyTable类,其中的属性很简单,例如public int MyTableId; public string MyTableProperty;....,然后在我的MyDBNameContextOnModelCreating方法中,有几页内容如下:

 modelBuilder.Entity<MyTable>(entity =>
            {
                entity.HasIndex(e => e.SomeColumn, "idx_somecolumn");

                entity.Property(e => e.firstcolumn)
                    .HasColumnType("decimal(8, 1)")
                    .HasColumnName("FirstColumn");

                ...

这太可怕了.帮助声明如下:

-d |——数据注释使用属性来配置

我可以煞费苦心地手动完成并添加注释,但如果以后由于更改而重新生成,那么它将撤销我的工作.

"数据注释"属性不起作用的原因是什么?

推荐答案

我不能删除我的问题,所以我会把答案贴在这里...

是虫子!

-d不起作用,但--data-annotations起作用.

https://github.com/dotnet/efcore/issues/26687

.net相关问答推荐

.NET restore/build在使用组织包的Github Action工作流中调用时获得401

EF Core IEntityTypeConfigurations:从数据库提取数据后相关对象为空

在数据网格中:如何在更改单元格 A 中的值后显示单元格 B 中的更改

如果只有一个 : 存在于字符串中,则提取冒号后的内容

为什么 SortedSet.GetViewBetween 不是 O(log N)?

.NET 应用程序的链接器状态(又名请先生,我可以有一个链接器2009 年版)

Int32.ToString() 是特定于文化的吗?

为什么我得到 411 Length required 错误?

使用返回随机结果的函数进行单元测试

添加新实体标量时实体框架 4 映射片段错误

使用多个 MemoryCache 实例

Int 到字节数组

System.String.Copy 在 .NET 中有什么用?

System.Speech.Recognition 和 Microsoft.Speech.Recognition 有什么区别?

.NET 的 String.Normalize 有什么作用?

如何使我的托管 NuGet 包支持 C++/CLI 项目?

实体框架中的 POCO 是什么?

将 Dictionary 转换为匿名对象?

在不使用while循环的情况下找到最里面的异常?

Dictionary.Add 与 Dictionary[key]=value 的区别