Я новичок в MVC 5. Я хочу отобразить список выбранных данных из базы данных. Я создал действие контроллера, в котором использовался необработанный запрос и класс или модель IEnumerable. Но контроллер возвращает ошибку:Вызов запроса, возвращаемого в MVC 5
An exception of type 'System.Data.SqlClient.SqlException' occurred in EntityFramework.SqlServer.dll but was not handled in user code
Additional information: Invalid object name 'tblProduct'.
Моя Модель:
namespace ShoppingCartProject1.Models
{
public class tblProduct:IEnumerable<tblProduct>
{
[Key]
public int PId { get; set; }
public string Pname { get; set; }
List<tblProduct> mylist = new List<tblProduct>();
public IEnumerator<tblProduct> GetEnumerator()
{
return mylist.GetEnumerator();
}
IEnumerator IEnumerable.GetEnumerator()
{
return this.GetEnumerator();
}
public tblProduct this[int index]
{
get { return mylist[index]; }
set { mylist.Insert(index, value); }
}
}
}
Контроллер:
[HttpPost]
public ActionResult SearchResult(string searched)
{
if (searched== null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
// Commenting out original code to show how to use a raw SQL query.
//Department department = await db.Departments.FindAsync(id);
// Create and execute raw SQL query.
string query = "select * from tblProduct where FREETEXT (Meta, 'branded')";
IEnumerable<tblProduct> data = db.Database.SqlQuery<tblProduct>(query);
if (data == null)
{
return HttpNotFound();
}
return View(data.ToList());
}
}
}
ошибка видно, указывая в сторону оператора возврата.
и представления:
@foreach (var item in Model)
{
<img src="~/images/@item.Image1" alt="" class="pro-image-front">
<img src="~/images/@item.Image2" alt="" class="pro-image-back">
}
что я сделал:
- проверил контроллер через Breakpoints: Элемент данных не получает значение из базы данных.
- изменил функции модели.