GOOGLE ADS

пятница, 15 апреля 2022 г.

Entity Framework выдает исключение — недопустимое имя объекта «dbo.BaseCs»

Я следил за ответом Адама здесь, и Entity Framework теперь работает, и Seed()метод также работает.

Но когда я пытаюсь получить доступ к базе данных следующим образом:

 public User FindUserByID(int id)
{
return (from item in this.Users
where item.ID == id
select item).SingleOrDefault();
}
.............................................................................
// GET: /Main/
public ActionResult Index(int? id)
{
var db = UserDataBaseDB.Create();
if (!id.HasValue)
id = 0;
return View(db.FindUserByID(id.Value));
}

Он выдает исключение при return (from item in this.Usersуказании:
Exception Details: System.Data.SqlClient.SqlException: Invalid object name 'dbo.BaseCs'.

Я пытался заменить его на:
return this.Users.ElementAt(id);но затем выдает это исключение.

LINQ to Entities does not recognize the method 'MySiteCreator.Models.User ElementAt[User](System.Linq.IQueryable1[MySiteCreator.Models.User], Int32)', и этот метод нельзя преобразовать в выражение хранилища.`

Может кто-нибудь мне помочь?
Благодарю вас!


Решение проблемы

Сведения об исключении: System.Data.SqlClient.SqlException: недопустимое имя объекта «dbo.BaseCs»

Эта ошибка означает, что EF переводит ваш LINQ в оператор sql, который использует объект (скорее всего, таблицу) с именем dbo.BaseCs, которого нет в базе данных.

Проверьте свою базу данных и убедитесь, что эта таблица существует или что вы должны использовать другое имя таблицы. Кроме того, если бы вы могли опубликовать ссылку на учебник, которому вы следуете, это помогло бы следить за тем, что вы делаете.

Комментариев нет:

Отправить комментарий

Laravel Datatable addColumn returns ID of one record only

Я пытаюсь использовать Yajra Datatable для интеграции DataTable на свой веб-сайт. Я смог отобразить таблицу, но столкнулся с проблемой. В по...