C# nge您的select toselect q能否向我们展示问题模型?您的第一个示例是返回类型为Question的对象,但您的第二个示例是返回匿名类型。这是你想要的吗?您可以将选择更改为select q我收到一个新错误:“无法在LINQ to Entitie
C# nge您的select toselect q能否向我们展示问题模型?您的第一个示例是返回类型为Question的对象,但您的第二个示例是返回匿名类型。这是你想要的吗?您可以将选择更改为select q我收到一个新错误:“无法在LINQ to Entitie,c#,asp.net-mvc,linq,C#,Asp.net Mvc,Linq,nge您的select toselect q能否向我们展示问题模型?您的第一个示例是返回类型为Question的对象,但您的第二个示例是返回匿名类型。这是你想要的吗?您可以将选择更改为select q我收到一个新错误:“无法在LINQ to Entities查询中构造实体或复杂类型“ProjectSiteModel.Question”。而且它仍然拒绝将Model.QuestionOptions视为问题模型的一部分。。我想发布模型以供提问,但它太长,无法包含在评论中。似乎您有不同类型的类问题。尝试
nge您的select to
select q
能否向我们展示问题模型?您的第一个示例是返回类型为Question
的对象,但您的第二个示例是返回匿名类型。这是你想要的吗?您可以将选择更改为select q
我收到一个新错误:“无法在LINQ to Entities查询中构造实体或复杂类型“ProjectSiteModel.Question”。而且它仍然拒绝将Model.QuestionOptions视为问题模型的一部分。。我想发布模型以供提问,但它太长,无法包含在评论中。似乎您有不同类型的类问题。尝试指定Template.Models.Question
而不是ProjectSiteModel.Question
我相信您已经找到了我的主要问题-关于DB的文档很少。我依赖于edmx。你能给我举个例子说明这个场景的viewModel是什么吗?你真的启发了我。我仍然有这个选择的问题,但您的指示让我很好地了解了如何创建ViewModels。非常感谢您的帮助。我收到一个新错误:“无法在LINQ到实体查询中构造实体或复杂类型“ProjectSiteModel.Question”。而且它仍然拒绝将Model.QuestionOptions作为问题模型的一部分。。我想发布模型以供提问,但它太长,无法包含在评论中。似乎您有不同类型的类问题。尝试指定Template.Models.Question
而不是ProjectSiteModel.Question
我相信您已经找到了我的主要问题-关于DB的文档很少。我依赖于edmx。你能给我举个例子说明这个场景的viewModel是什么吗?你真的启发了我。我仍然有这个选择的问题,但您的指示让我很好地了解了如何创建ViewModels。非常感谢你的帮助。
// GET: /Questions/ViewQuestion/5
public ActionResult ViewQuestion(int? id)
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
Question question = db.Questions.Find(id);
if (question == null)
{
return HttpNotFound();
}
return View(question);
}
@model Template.Models.Question
@{
ViewBag.Title = "Details";
}
<div>
<h4>Question #@Model.questionId</h4>
<hr />
<h1> @Html.DisplayFor(model => model.question1)</h1>
<ul>
@foreach (var item in Model.QuestionOptions)
{
<li>@Html.DisplayFor(modelItem => item.questionOption1)</li>
}
</ul>
public ActionResult ViewQuestion(int? id)
{
var pageId = id;
var question = from q in db.Questions
where q.pageId == pageId
orderby q.ranking
select new { q.questionId,
q.questionType, q.question1}
;
return View(question.ToList());
}
@model IEnumerable<Template.Models.Question>
@{
ViewBag.Title = "View question;";
}
<div>
@foreach (var item in Model) {
<h4>Question </h4>
<hr />
<h1> @Html.DisplayFor(model => item.question1.AsEnumerable())</h1>
<ul>
@foreach (var item in Model.QuestionOptions)
{
<li>@Html.DisplayFor(modelItem => item.questionOption1)</li>
}
</ul>
}
var question = from q in db.Questions
where q.pageId == pageId
orderby q.ranking
select new { q.questionId,
q.questionType,
q.question1 };
var question = from q in db.Questions
where q.pageId == pageId
orderby q.ranking
select new Template.Models.Question( )
{ questionId = q.questionId,
questionType = q.questionType,
question1 = q.question1 };
var questions = from q in db.Questions
where q.pageId == pageId
orderby q.ranking
select q;
public class QuestionViewModel
{
public int QuestionId { get; set; }
public string QuestionType { get; set; }
public string QuestionText { get; set; }
// datatypes are only a guess from me, you need to adapt them
}
@model IEnumerable<QuestionViewModel>
select new { q.questionId,
q.questionType, q.question1}
select new Template.Models.Question{ q.questionId,
q.questionType, q.question1}
namespace Template.Models
{
using System;
using System.Collections.Generic;
public partial class Question
{
public Question()
{
this.QuestionOptions = new HashSet<QuestionOption>();
this.Responses = new HashSet<Response>();
}
public int questionId { get; set; }
public int eventId { get; set; }
public int pageId { get; set; }
public string question1 { get; set; }
public int questionType { get; set; }
public Nullable<int> linkedTo { get; set; }
public Nullable<int> options { get; set; }
public Nullable<int> ranking { get; set; }
public virtual ICollection<QuestionOption> QuestionOptions { get; set; }
public virtual QuestionType QuestionType1 { get; set; }
public virtual ICollection<Response> Responses { get; set; }
}
}