Я написал запрос linq, из которого я хотел бы получить значения из этого запроса и отобразить результаты в таблице.Я получаю сообщение об ошибке, как показано ниже
Элемент модели, переданный в словарь, имеет тип 'System.Data.Entity.Infrastructure.DbQuery 1[<>f__AnonymousType5
6 [System.Int32, System.String, System.String, System.String, System.String, System.Nullable 1[System.DateTime]]]', but this dictionary requires a model item of type 'System.Collections.Generic.IEnumerable
1 [App.Web.marketingdbclients_invalidEmails] '
Когда я строил представление с контроллера, я выбрал один измои таблицы в качестве модели, и я не думаю, что это правильный способ сделать это.Что такое правильный тип модели, чтобы выбрать, если я хочу, чтобы отобразить результаты запроса Linq и или хранимую процедуру, потому что у меня есть хранимая процедура, которая делает то же самое, что и запрос Linq поэтому, возможно, я мог бы использовать зр в качестве альтернативы
public class InvalidEmailsController : Controller
{
private MarketingDBEntitiesModel db = new MarketingDBEntitiesModel();
public ActionResult InvalidEmails(int UploadId)
{
//var emails = db.sp_marketing_getInvalidEmailsByUploadId(UploadId);
var emailTable = (from mie in db.marketingdbclients_invalidEmails
join mdt in db.marketingdbclients_dataTable on mie.ClientId equals mdt.ClientId
where mdt.UploadId == 88
select new
{
mie.ClientId, mie.Email1, mie.Email2,
mie.Email3, mie.Email4, mie.DateStamp
});
return View(emailTable);
}
}
Это мой взгляд, который связан с таблицей как моделью (я думаю, что это неправильный метод)
@model IEnumerable<App.Web.marketingdbclients_invalidEmails>
<p>
@Html.ActionLink("Create New", "Create")
</p>
<table class="table">
<tr>
<th>
@Html.DisplayNameFor(model => model.ClientId)
</th>
<th>
@Html.DisplayNameFor(model => model.Email1)
</th>
<th>
@Html.DisplayNameFor(model => model.Email2)
</th>
<th>
@Html.DisplayNameFor(model => model.Email3)
</th>
<th>
@Html.DisplayNameFor(model => model.Email4)
</th>
<th>
@Html.DisplayNameFor(model => model.DateStamp)
</th>
<th></th>
</tr>
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.ClientId)
</td>
<td>
@Html.DisplayFor(modelItem => item.Email1)
</td>
<td>
@Html.DisplayFor(modelItem => item.Email2)
</td>
<td>
@Html.DisplayFor(modelItem => item.Email3)
</td>
<td>
@Html.DisplayFor(modelItem => item.Email4)
</td>
<td>
@Html.DisplayFor(modelItem => item.DateStamp)
</td>
<td>
@Html.ActionLink("Edit", "Edit", new { id=item.invalidEmailId }) |
@Html.ActionLink("Details", "Details", new { id=item.invalidEmailId }) |
@Html.ActionLink("Delete", "Delete", new { id=item.invalidEmailId })
</td>
</tr>
}
</table>