我有一个简单的数据库和一个表,它有各种属性.
我用的是最新的.最新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;....
,然后在我的MyDBNameContext
类OnModelCreating
方法中,有几页内容如下:
modelBuilder.Entity<MyTable>(entity =>
{
entity.HasIndex(e => e.SomeColumn, "idx_somecolumn");
entity.Property(e => e.firstcolumn)
.HasColumnType("decimal(8, 1)")
.HasColumnName("FirstColumn");
...
这太可怕了.帮助声明如下:
-d |——数据注释使用属性来配置
我可以煞费苦心地手动完成并添加注释,但如果以后由于更改而重新生成,那么它将撤销我的工作.
"数据注释"属性不起作用的原因是什么?