不能支架(EF,Core 2.1)包含' bool'项目

时间:2018-06-10 22:16:28

标签: .net-core asp.net-mvc-scaffolding

我的模型看起来像这样:

namespace Flow.Models
{
    public class ProjectDepo : Project
    {    
        public DateTime DepoDate { get; set; }  //some way to set this to only the date
        public TimeSpan DepoTime { get; set; } //some way to set this to only the time of day

        public bool DepoNoticeReceived { get; set; } //yes or no

        //public int FirmUserID { get; set; }
    }
}

{{1}}

当我构建ProjectDepo时,我收到以下类型的错误消息:

  

CS1061' CreateModel'不包含的定义   ' DepoNoticeReceived'没有扩展方法' DepoNoticeReceived'   接受类型' CreateModel'的第一个参数。可以找到(是   你错过了使用指令或程序集引用?)

  

CS1061' CreateModel'不包含'网络'的定义和   没有扩展方法'网络'接受第一个类型的参数   ' CreateModel'可以找到(你是否错过了使用指令或   装配参考?)

仅适用于我设置了“bool'。

的字段。”

在数据库中,网络'和DepoNoticeReceived'被设置为' bit'。一个是可以为空的,另一个则不是。

我不知道为什么Scaffolding会产生这些错误。

请传递任何想法。

感谢您的帮助。

卡盘

1 个答案:

答案 0 :(得分:3)

阅读其他帖子表明这是脚手架中的一个错误。出于某种原因,脚手架没有正确引用bool值。可能应该是未来EF / Core版本的错误。 (这仍然在EF / Core 2.1中)

@Html.DisplayNameFor(model => model.Network)

(以上是脚手架代码,但失败了。)

@Html.DisplayNameFor(model => model.ProjectDepo.Network)

这是正确的代码。它填补了缺少的模型'ProjectDepo'。

(这个发现是由于@Renato Alio的指导。感谢您的指导。)

卡盘