Форум программистов, компьютерный форум, киберфорум
C#: ASP.NET MVC
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
0 / 0 / 0
Регистрация: 24.12.2017
Сообщений: 80
1

Программа выдает "Недопустимое имя объекта "Games"" не могу понять почему

10.07.2019, 22:23. Показов 1992. Ответов 7
Метки нет (Все метки)

Программа выдает ошибку "SqlException: Недопустимое имя объекта "Games"", хотя база имеется как и данные в ней
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using GameSite.Models;
using Microsoft.AspNetCore.Authorization;
using Microsoft.EntityFrameworkCore;
using System.Data.SqlClient;
 
namespace GameSite.Controllers
{
    public class HomeController : Controller
    {
        private UsersContext db;
        public HomeController(UsersContext context)
        {
            db = context;
        }
 
        public async Task<IActionResult> Index()
        {
                return View(await db.Games.ToListAsync()); //<-- ругается тут
        }
 
        public IActionResult About()
        {
            ViewData["Message"] = "Your application description page.";
 
            return View();
        }
 
        public IActionResult Contact()
        {
            ViewData["Message"] = "Your contact page.";
 
            return View();
        }
 
        public IActionResult Privacy()
        {
            return View();
        }
 
        [ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)]
        public IActionResult Error()
        {
            return View(new ErrorViewModel { RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier });
        }
    }
}
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.ComponentModel.DataAnnotations;
 
namespace GameSite.Models
{
    public class Users
    {
        [Key]
        public int ID_User { get; set; }
        public string Name { get; set; }
        public string Surname { get; set; }
        public string Nickname { get; set; }
        public DateTime Date_of_issue { get; set; }
        public int Reputation { get; set; }
        public string Login { get; set; }
        public string Password { get; set; }
        public string Avatar { get; set; }
        public string Love_tag { get; set; }
        public string Role { get; set; }
    }
    public class Game
    {
        [Key]
        public int ID_game { get; set; }
        public string Name_game { get; set; }
        public DateTime Year_of_release { get; set; }
        public string Tags { get; set; }
        public string Developer { get; set; }
        public int Game_Rathing { get; set; }
 
    }
    public class Game_description
    {
        [Key]
        public int ID_game { get; set; }
        public string Description { get; set; }
        public string URL_game { get; set; }
        public string URL_img { get; set; }
        public string URL_trailer { get; set; }
 
    }
}
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
@model IEnumerable<GameSite.Models.Game>
 
<head>
    <script src="~/js/jqcloud-1.0.4.min.js" type="text/javascript"></script>
    <script src="@Url.Content("https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.js")" type="text/javascript"></script>
</head>
<body>
 
    <div id="myCarousel" class="carousel slide" data-ride="carousel" data-interval="6000">
        <ol class="carousel-indicators">
            <li data-target="#myCarousel" data-slide-to="0" class="active"></li>
            <li data-target="#myCarousel" data-slide-to="1"></li>
            <li data-target="#myCarousel" data-slide-to="2"></li>
        </ol>
        <div class="carousel-inner" role="listbox">
            <div class="item active">
                <img src="~/images/csgo.png" alt="CS:GO" class="img-responsive" />
                <div class="carousel-caption" role="option">
                    <p>
                        Знаменитый шутер прошедший закалку временем
                        <a class="btn btn-default" href="#">
                            Читать больше
                        </a>
                    </p>
                </div>
            </div>
            <div class="item">
                <img src="~/images/" alt="Игра 2" class="img-responsive" />
                <div class="carousel-caption" role="option">
                    <p>
 
                        <a class="btn btn-default" href="#">
                            Читать больше
                        </a>
                    </p>
                </div>
            </div>
            <div class="item">
                <img src="#" alt="Игра 3" class="img-responsive" />
                <div class="carousel-caption" role="option">
                    <p>
 
                        <a class="btn btn-default" href="#">
                            Читать больше
                        </a>
                    </p>
                </div>
            </div>
        </div>
        <a class="left carousel-control" href="#myCarousel" role="button" data-slide="prev">
            <span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span>
            <span class="sr-only">Previous</span>
        </a>
        <a class="right carousel-control" href="#myCarousel" role="button" data-slide="next">
            <span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span>
            <span class="sr-only">Next</span>
        </a>
    </div>
 
    <div class="row">
        <div class="container container-head">
            <p class="text-color">ИГРЫ МЕСЯЦА</p>
        </div>
    </div>
    @foreach (var item in Model)
    {
        <div class="row">
            <div class="container container-body">
                <div class=" col-md-3">
                    <img src="#" alt="Poject Witer" />
                    <span class="">@item.Name_game</span>
                </div>
                <div class=" col-md-3">
                    <img src="#" alt="Poject Witer" />
                    <span class="">@item.Name_game</span>
                </div>
                <div class=" col-md-3">
                    <img src="#" alt="Poject Witer" />
                    <span class="">@item.Name_game</span>
 
                </div>
                <div class=" col-md-3">
                    <img src="#" alt="Poject Witer" />
                    <span class="">@item.Name_game</span>
                </div>
            </div>
        </div>
        <div class="row">
            <div class="container container-body">
                <div class=" col-md-3">
                    <img src="#" alt="Poject Witer" />
                    <span class="">@item.Name_game</span>
                </div>
                <div class=" col-md-3">
                    <img src="#" alt="Poject Witer" />
                    <span class="">@item.Name_game</span>
                </div>
                <div class=" col-md-3">
                    <img src="#" alt="Poject Witer" />
                    <span class="">@item.Name_game</span>
                </div>
                <div class=" col-md-3">
                    <img src="#" alt="Poject Witer" />
                    <span class="">@item.Name_game</span>
                </div>
            </div>
        </div>
    }
    <div class="row">
        <div class="container container-head">
            <div class=" col-md-6">
                <p class="text-color">КАКОЙ ВАШ ЖАНР ИГР? </p>
                <select id="Select1">
                    <option>РПГ</option>
                    <option>Платформеры</option>
                    <option>Шутеры от первого лица</option>
                    <option>Экономические стратегии</option>
                    <option>Военные стратегии</option>
                    <option>MOBA</option>
                    <option>Battle Royale</option>
                    <option>Cимуляторы</option>
                    <option>MMORPG</option>
                    <option>Слэшеры</option>
                    <option>Аркады</option>
                    <option>Спортивные</option>
                </select>
                <button class="btn btn-default">О да это мой жанр</button>
            </div>
        </div>
    </div>
    <div>
        <p>
            RPG - жанр компьютерных игр, основанный на элементах игрового процесса традиционных настольных ролевых игр. В ролевой игре игрок управляет одним или несколькими персонажами, каждый из которых описан набором численных характеристик, списком способностей и умений; примерами таких характеристик могут быть хит-пойнты (англ. hit points, HP), показатели силы, ловкости, интеллекта, защиты, уклонения, уровень развития того или иного навыка и т. п.
        </p>
        <p>
            Платформеры - это жанр игр, в которых основным геймплейным элементом является путешествие по уровням, которые разбиты на множество различных платформ. А вот наполнение может разниться - в каких-то играх игроков ждут только всевозможные препятствия и ловушки, а в других - еще и различные противники. Существуют как двухмерные платформеры, где игроки видят все "сбоку", так и трехмерные, где приходится гораздо тщательнее рассчитывать каждый свой шаг, чтобы не упасть и не погибнуть
        </p>
        <p>
            Шутер - это жанр видеоигр, в котором упор сделан на скорость реакции геймера и командное взаимодействие. Название происходит от английского слова shooter, что переводится как "стрелялка". Обычно действия игры происходит в 3D-пространстве, которое представляет собой лабиринт. Игрок обладает некоторой свободой действия. Двигаясь по виртуальным картам, геймер встречает друзей и врагов. Яркий представитель CS:GO
        </p>
        <p>
            Стратегическая игра — жанр компьютерных игр; игры данного жанра характеризуются тем, что игроку для достижения цели необходимо применять стратегическое мышление, и оно противопоставляется быстрым действиям и реакцией, которые, как правило, не обязательны для успеха в таких играх.Яркий представитель Stronghold, War Craft
        </p>
        <p>
            Multiplayer Online Battle Arena (MOBA) (букв. «многопользовательская онлайновая боевая арена») — жанр компьютерных игр, сочетающий в себе элементы стратегий в реальном времени и компьютерных ролевых игр и выделяющийся схожестью с DOTA
        </p>
        <p>Королевская битва  — один из жанров массовых многопользовательских онлайн-игр, совмещающий в себе элементы симулятора выживания с режимом последний выживший.Яркий представитель PUBG </p>
        <p>Симулятор — имитатор (обычно механический или компьютерный), задача которого состоит в имитации управления каким-либо процессом, аппаратом или транспортным средством. Яркий представитель DCS</p>
        <p>Массовая многопользовательская ролевая онлайн-игра или ММОРПГ (англ. Massively multiplayer online role-playing game, MMORPG) — компьютерная игра, в которой жанр ролевых игр совмещается с жанром массовых онлайн-игр. MMORPG могут быть представлены в том числе и в браузерном виде, однако основной чертой жанра является взаимодействие большого числа игроков в рамках виртуального мира.</p>
        <p>Слэшеры - это поджанр экшенов, который сосредоточен на составлении длинных цепочек комбо-ударов, сражениях с превосходящими силами противников а также на битвах с крайне опасными боссами. Слэшеры предлагают игрокам множество разных вариантов оружия, каждое из которых обладает своими уникальными атаками, благодаря чему подходит для разных ситуаций. Геймплей в подобных играх обычно крайне быстрый, так что игрокам нужно крайне быстро думать и реагировать на действия врагов.</p>
        <p>Аркада — жанр компьютерных игр, характеризующийся коротким по времени, но интенсивным игровым процессом</p>
        <p>Спортивные игры жанр в котором соединяются спорт и лень. Также порой к ним добавляются элементы стратегии и экономики</p>
    </div>
</body>
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.07.2019, 22:23
Ответы с готовыми решениями:

Ошибка "недопустимое имя объекта" при использовании LINQ to SQL
Здравствуйте, уважаемые форумчане! Я начинающий разработчик ASP.NET MVC. Сейчас создаю тестовый...

SqlException: "Недопустимое имя объекта"
Здраствуйте!Почему возникает эта ошибка?

Вход пользователя и ошибка "Недопустимое имя столбца"
Здравствуйте, помогите разобраться с причиной ошибки. Имеется форма входа пользователя. Вводится...

Как "Истина"/"Ложь" переделать в "True"/"False"?
собснно сабж. есть w2000 server. русский IE. где-то в скрипте на сервере (VB) выдает CStr(True) =...

7
2447 / 1899 / 341
Регистрация: 22.07.2011
Сообщений: 7,219
10.07.2019, 22:43 2
XIRURG_,
нужен полный текст ошибки , включая номер строки + код содержащий строчку с ошибкой.

Цитата Сообщение от XIRURG_ Посмотреть сообщение
SqlException: Недопустимое имя объекта "Games
- значит в запросе к БД упоминается обьект Games которого нет в БД. , код UsersContext тоже не помешает. + скрин схемы БД + строка подключения ).
- если БД MSSQL , то можно через SqlProfiler посмотреть какой SQL запрос идет к серверу БД.
0
0 / 0 / 0
Регистрация: 24.12.2017
Сообщений: 80
10.07.2019, 22:45  [ТС] 3
Код
[CODE]An unhandled exception occurred while processing the request.
SqlException: Недопустимое имя объекта "Game_Descriptions".
System.Data.SqlClient.SqlCommand+<>c.<ExecuteDbDataReaderAsync>b__122_0(Task<SqlDataReader> result)

Stack Query Cookies Headers
SqlException: Недопустимое имя объекта "Game_Descriptions".
System.Data.SqlClient.SqlCommand+<>c.<ExecuteDbDataReaderAsync>b__122_0(Task<SqlDataReader> result)
System.Threading.Tasks.ContinuationResultTaskFromResultTask<TAntecedentResult, TResult>.InnerInvoke()
System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, object state)
System.Threading.Tasks.Task.ExecuteWithThreadLocal(ref Task currentTaskSlot)
Microsoft.EntityFrameworkCore.Storage.Internal.RelationalCommand.ExecuteAsync(IRelationalConnection connection, DbCommandMethod executeMethod, IReadOnlyDictionary<string, object> parameterValues, CancellationToken cancellationToken)
Microsoft.EntityFrameworkCore.Query.Internal.AsyncQueryingEnumerable<T>+AsyncEnumerator.BufferlessMoveNext(DbContext _, bool buffer, CancellationToken cancellationToken)
Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal.SqlServerExecutionStrategy.ExecuteAsync<TState, TResult>(TState state, Func<DbContext, TState, CancellationToken, Task<TResult>> operation, Func<DbContext, TState, CancellationToken, Task<ExecutionResult<TResult>>> verifySucceeded, CancellationToken cancellationToken)
Microsoft.EntityFrameworkCore.Query.Internal.AsyncQueryingEnumerable<T>+AsyncEnumerator.MoveNext(CancellationToken cancellationToken)
System.Linq.AsyncEnumerable+SelectEnumerableAsyncIterator<TSource, TResult>.MoveNextCore(CancellationToken cancellationToken)
System.Linq.AsyncEnumerable+AsyncIterator<TSource>.MoveNext(CancellationToken cancellationToken)
Microsoft.EntityFrameworkCore.Query.Internal.AsyncLinqOperatorProvider+ExceptionInterceptor<T>+EnumeratorExceptionInterceptor.MoveNext(CancellationToken cancellationToken)
System.Linq.AsyncEnumerable.Aggregate_<TSource, TAccumulate, TResult>(IAsyncEnumerable<TSource> source, TAccumulate seed, Func<TAccumulate, TSource, TAccumulate> accumulator, Func<TAccumulate, TResult> resultSelector, CancellationToken cancellationToken)
GameSite.Controllers.HomeController.Index() in HomeController.cs
-
            db = context;
        }
        public async Task<IActionResult> Index()
        {
            //return View();
                return View(await db.Game_Descriptions.ToListAsync());
        }
        public IActionResult About()
        {
            ViewData["Message"] = "Your application description page.";
Microsoft.AspNetCore.Mvc.Internal.ActionMethodExecutor+TaskOfIActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, object controller, object[] arguments)
System.Threading.Tasks.ValueTask<TResult>.get_Result()
Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.InvokeActionMethodAsync()
Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.InvokeNextActionFilterAsync()
[/CODE]
0
0 / 0 / 0
Регистрация: 24.12.2017
Сообщений: 80
10.07.2019, 22:49  [ТС] 4
Цитата Сообщение от sau Посмотреть сообщение
- значит в запросе к БД упоминается обьект Games которого нет в БД. , код UsersContext тоже не помешает. + скрин схемы БД + строка подключения ).
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.EntityFrameworkCore;
 
namespace GameSite.Models
{
    public class UsersContext : DbContext
    {
        public DbSet<Users> Users { get; set; }
        public UsersContext(DbContextOptions<UsersContext>options)
            :base(options)
        {
            Database.EnsureCreated();
        }
        public DbSet<Game> Games { get; set; }
        public DbSet<Game_description> Game_Descriptions { get; set; }
    }
}
Код
  "ConnectionStrings": {
    "DefaultConnection": "Data Source=LAPTOP-QKJQU4RE\\MYSERVER;Database=GameSite;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False"
  },
0
Миниатюры
Программа выдает "Недопустимое имя объекта "Games"" не могу понять почему   Программа выдает "Недопустимое имя объекта "Games"" не могу понять почему  
0 / 0 / 0
Регистрация: 24.12.2017
Сообщений: 80
10.07.2019, 23:04  [ТС] 5
sau,
0
2447 / 1899 / 341
Регистрация: 22.07.2011
Сообщений: 7,219
10.07.2019, 23:27 6
Лучший ответ Сообщение было отмечено XIRURG_ как решение

Решение

XIRURG_, ну вот , в контексте у вас Game_Descriptions , а в БД Game_Description
- т.е БД явно не по модели генерировалась.
- с Games аналогичная проблема будет.
1
0 / 0 / 0
Регистрация: 24.12.2017
Сообщений: 80
10.07.2019, 23:57  [ТС] 7
Спасибо добрый волшебник
0
1159 / 1017 / 166
Регистрация: 04.04.2011
Сообщений: 3,568
15.07.2019, 21:50 8
Контекст-то объявлен, но где его создание ?
После

C#
1
         private UsersContext db;
надо бы

C#
1
        db = new  UserContext();
Эта строка кода создаст экземпляр объекта контекста Вашей БД, установит соединение с SQL-сервером и можно будет обращаться к ее свойствам и методам
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.07.2019, 21:50

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Ошибка "'System.Web.Mvc.HtmlHelper<dynamic>" не имеет применимого метода с именем "ActionLink"
Всем привет непойму где ошибка &lt;ul&gt; @foreach (var item in Model) { &lt;li&gt; ...

Загрузка nuget пакета. У "Newtonsoft.Json" уже есть зависимость, определенная для "Microsoft.CSharp"
Пытаюсь подключить пакет для работы с telegram api но постоянно выпадает ошибка: Install-Package...

При вызове метода sqlDataAdapter.Fill(dataSet, "T_Vhod_doc") происходит ошибка "Login failed for user"
Доброго времени суток! При вызове метода sqlDataAdapter.Fill(dataSet, &quot;T_Vhod_doc&quot;) происходит...

Переход с помощью кнопок "назад"/"вперед" с востановлением значений полей
Есть небольшая поисковая система на основе АСП... работает один файл result.asp c параметром text...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.