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

我用的是最新的.最新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相关问答推荐

NuGet 兼容与计算框架(Xamarin 和 .NET 6)

在 Invoke() 中运行时,跨线程操作对表单控件无效 - .NET

保存时不保留 XML 格式

.NET Async / Await:状态机如何知道何时继续执行?

如何在 Windows 窗体上显示 ClickOnce 版本号

使用 Task.Factory.StartNew 传递方法参数

有没有办法以编程方式最小化窗口

防止对话框在按钮的单击事件处理程序中关闭

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

我可以使用 UriTemplate 将非字符串传递给 WCF RESTful 服务吗?

如何从 appsettings.json 中获取价值

RNGCryptoServiceProvider 的优缺点

.NET 4.0 中有内置的二叉搜索树吗?

为什么 ?: 会导致转换错误,而 if-else 不会?

为什么 LINQ .Where(predicate).First() 比 .First(predicate) 快?

C# 中基于接口编程的运算符重载

在 C#/.NET 中组合路径和文件名的最佳方法是什么?

了解 C# 中的协变和逆变接口

为什么 .NET 中没有 Tree 类?

连接字符串而不是使用一堆 TextBlocks