繁体   English   中英

实体框架代码第一个可选属性映射为必需

[英]Entity Framework Code First Optional Property is mapped as Required

Code First有一个问题。 我只是将项目从Model First迁移到Code First,我认为Entity Framework正在失去理智......这是我的类(简化):

public class MyClass
{
    // Key, other properties...

    public bool? MyNullBoolean { get; set; }

    public static void Configure(EntityTypeConfiguration<MyClass> myClass)
    {
        // Other configuration on other properties...
        myClass.Property(m => m.MyNullBoolean).IsOptional();
    }
}

以下是一些额外的信息:

  • 我在OnModelCreating()方法中调用Configure() OnModelCreating()方法。
  • 已启用迁移,并且“自动”模式设置为false
  • 在我的迁移中,我有MyNullBoolean = c.Boolean(nullable: false) ,所以EF表现得像这个属性是必需的,这不像以前看到的那样。
  • 我将内部数据作为现有数据库(dev)的目标,因此我无法执行迁移“用于测试目的”
  • 这是与Model First完全相同的模型,最后一个正常工作......

这是我尝试过的:

  • 在项目上禁用/启用EF(删除项目和数据库中的迁移)
  • 重启VS.
  • 针对另一个DB(相同的结构)
  • 保持属性未配置(因此EF单独完成工作)

我不在乎,我在互联网上一无所获。 谢谢你的帮助!

我认为EF已损坏,因为当我卸载它时,清理解决方案,安装它,重建解决方案,它工作。

所以db或我的模型没有问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM