ASP.NET实体框架制作测验

时间:2017-06-29 10:04:11

标签: c# asp.net entity-framework

我是网络新手,真的很困难。我需要使用ASP.NET和Entity Framework制作QuizSystem。我首先使用数据库,我有这样的表

Qustion Table

并且

Variant Table

我试图创建问题的创建视图,但问题是问题使用一些已经变为Variant作为答案,我只需要从下拉列表中选择它。

[HttpPost]
    [ValidateAntiForgeryToken]
    public ActionResult Create([Bind(Include = "Text,AnswerID,ChapterID")] QuestionVariant questionVariant)
    {
        if (ModelState.IsValid)
        {
            db.QuestionVariants.Add(questionVariant);
            db.SaveChanges();
            return RedirectToAction("Index");
        }

        ViewBag.ChapterID = new SelectList(db.Chapters, "ChapterID", "ChapterName", questionVariant.ChapterID);
        ViewBag.AnswerID = new SelectList(db.Variants, "VariantID", "Text", questionVariant.AnswerID);
        return View(questionVariant);
    }

是否可以在同一视图中创建问题和变体?如果是这样,控制器和视图应该如何看?不要只是-1,帮我提一些建议或任何有助于解决这个问题的东西。

1 个答案:

答案 0 :(得分:0)

我认为你的桌面设计需要一些调整。尝试更改您的问题模型.AnswerId to =>

public virtual ICollection<QuestionVariants> QuestionVariants{ get; set; }

将Question属性添加到QuestionVariant并将ForeignKey属性应用于此。

[ForeignKey("QuestionId")]    
public Question Question { get; set; }

此外,您还可以阅读&#39; ForeignKey&#39;和“一对多”&#39; this tutorial的部分。