Почему я не могу использовать свои классы из папки Models в Global.asax.cs?

2

Я пытаюсь сделать следующий проект в учебных целях: https://docs.microsoft.com/ru-ru/aspnet/web-forms/overview/getting-started/getting-started-with-aspnet-45-web- формы /create_the_data_access_layer

Но я застрял на этапе "Обновление файла Global.asax" - VS не позволяет мне импортировать пространство имен WingtipToys.Models в файл Global.asax.cs.

Здесь структура проекта, Globa.asax.cs и ошибка 'using'

Все сделано в соответствии с учебником Microsoft выше. Почему я не могу импортировать свои модели в файл global.asax.cs?

Мой класс ProductDatabaseInitializer:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.Entity;

namespace WingtipToys.Models
{
    public class ProductDatabaseInitializer : DropCreateDatabaseIfModelChanges<ProductContext>
    {
        protected override void Seed(ProductContext context)
        {
            GetCategories().ForEach(c => context.Categories.Add(c));
            GetProducts().ForEach(p => context.Products.Add(p));
        }....
  • 1
    пожалуйста, ProductDatabaseInitializer свой класс ProductDatabaseInitializer
  • 0
    Конечно, добавил это к моему вопросу.
Показать ещё 4 комментария
Теги:
visual-studio-2017

2 ответа

0

Что действительно помогло, так это воссоздание всех классов в каталоге Models (удалите все старые классы и создайте новые с тем же кодом) - тогда я начал видеть свои классы из файла Global.asax.cs.

Может быть, это может кому-то помочь.

0

У вашего класса нет пространства имен, которое имитирует структуру проекта. Т.е. пространство имен, определенное для вашего класса в ProductDatabaseInitializer, не является WingtipToys.Models

namespace WingtipToys.Models //HERE ensure this namespace is actually WingtipToys.Models
{
    public class ProductDatabaseInitializer
    {
        public string SomeProperty { get; set; }
    }
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню