Модель Cannot Scaffold (EF, Core 2.1), содержащая элемент 'bool' - PullRequest
0 голосов
/ 11 июня 2018

Моя модель выглядит следующим образом:

namespace Flow.Models
{    
    public abstract class Project
    {
        public int ID { get; set; }

        public String HashID { get; set; }

        public string FileLoc { get; set; } //Use HashedID above.
        public bool Network { get; set; }

        public int ClientID { get; set; }
        public int FirmID { get; set; }

        public ICollection<Order> Orders { get; set; }
    }
}

И

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; }
    }
}

Когда я создаю леса ProjectDepo, я получаю следующие типы сообщений об ошибках:

CS1061 «CreateModel» не содержит определения для «DepoNoticeReceived» и не может быть найден метод расширения «DepoNoticeReceived», принимающий первый аргумент типа «CreateModel» (отсутствует директива using или ссылка на сборку?)

AND

CS1061 «CreateModel» не содержит определения «Network», и не найдено никакого метода расширения «Network», принимающего первый аргумент типа «CreateModel» (вы пропустилидиректива using или ссылка на сборку?)

Только для полей, для которых я установил 'public bool'.

В базе данных, оба 'Network' и 'DepoNoticeReceived'установлены как «бит».Один обнуляем, а другой нет.

Я не знаю, почему леса создают эти ошибки.

Пожалуйста, передайте любые идеи.

спасибо за любую помощь.

патрон

1 Ответ

0 голосов
/ 12 июня 2018

Чтение другого поста показало, что это ошибка в Скаффолдинге.По какой-то причине на значения bool НЕ ссылаются должным образом.Вероятно, должна быть ошибка для будущих выпусков EF / Core.(Это все еще в EF / Core 2.1)

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

(Выше приведен код скаффолда, который не работает.)

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

Это правильный код.Он заполняет отсутствующую модель ProjectDepo.

(Эта находка обусловлена ​​руководством @Renato Alio. Спасибо за руководство.)

chuck

...