Я прочитал все вопросы, связанные с этим вопросом, все видео, которые я смог найти, и я не смог найти решение своей проблемы ни в одном из них.
Я пытался отобразить данныеиз представления SQL на странице .cshtml
с использованием инфраструктуры ASP.NET MVC.
Это код моего контроллера:
public ActionResult childinfo()
{
var myQuery1 = db.WebChildCaretakerInfo.Where(s => s.CustSSN == Custssn).Select(s => new { FirstName = s.FirstName, age = s.age, program_name = s.program_name });
return View(myQuery1);
}
, где WebChildCaretakerInfo
- это представление, из которого я хочу получить данные.
Это код внутри моего cshtml. страница:
@model IEnumerable<WebProgProject.Models.WebChildCaretakerInfo>
@{Layout = null;}
@{
var childName = "";
var age = 0;
var caretakerName = "";
var caretakerEmail = "";
var caretakerPhone = "";
foreach (var item in Model)
{
childName = @item.FirstName;
age = (int)@item.age;
caretakerName = @item.CaretakerName;
caretakerEmail = @item.email;
caretakerPhone = @item.phone_number;}
}
Примечание : я использую ChildName
и другие переменные в текстовых полях только для чтения далее в коде.
Когда я пытаюсь выполнить эту страницу, в браузере появляется эта ошибка:
Элемент модели, переданный в словарь, имеет тип 'System.Data.Entity.Infrastructure. DbQuery 1[<>f__AnonymousType3
3 [System.String, System.Nullable 1[System.Int32],System.String]]', but this dictionary requires a model item of type 'System.Collections.Generic.IEnumerable
1 [WebProgProject.Models.WebChildCaretakerInfo] '.
Сведения об исключении: System.InvalidOperationException: элемент модели, переданный в словарь, имеет тип'System.Data.Entity.Infrastructure.DbQuery 1[<>f__AnonymousType3
3 [System.String, System.Nullable 1[System.Int32],System.String]]', but this dictionary requires a model item of type 'System.Collections.Generic.IEnumerable
1 [WebProgProject.Models.WebChildCaretakerInfo] '.
Я попытался удалить заголовок
@model IEnumerable<WebProgProject.Models.WebChildCaretakerInfo>
и, выполнив, я получаю другую ошибку:
Объект не содержит определения для FirstName в childName = @ item.FirstName
, которыйКонечно, это чепуха, потому что это прямо здесь, в моем файле WebChildCaretakerInfo.cs:
namespace WebProgProject.Models
{
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
public partial class WebChildCaretakerInfo
{
public string FirstName { get; set; }
public Nullable<int> age { get; set; }
public string programCode { get; set; }
public string CaretakerName { get; set; }
public string email { get; set; }
public string phone_number { get; set; }
public string program_name { get; set; }
public string SSN { get; set; }
public string CustSSN { get; set; }
}
}
Существует ли другой способ извлечения данных из представления SQL в приложение ASP.NET MVC, который отличается от извлечения данныхиз таблицы SQL? Потому что в том же приложении я получаю данные из таблиц, и это не проблема.