我正在开发一个自定义的Google表单项目。这些是与我的问题相关的实体:
public class Form
{
public int Id;
public string Title;
public virtual List<Question> Questions;
}
public class Question
{
public int Id;
public int? QuestionId; // Self reference pointer for nested questions (alternatives)
public string Type; // Radio, checkbox, text or image
public string Description;
public virtual List<Question> Alternatives;
}
从现在开始,我们假设所有内容都已正确映射/链接(使用Fluent API),并且我可以成功列出所有表单及其问题,如下所示:
public List<Form> ListForms()
{
return context.Forms
.Where(w => w.Questions.Any(q => q.QuestionId != null)) // Useless
.Include(i => i.Questions.Select(q => q.Alternatives))
.ToList();
}
根据这两个图片,上面的代码段会生成一个列表1 Form
,其中包含5 Question
,如果它跳过子问题则应为2(这些应该放入{ {1}}列表),如下:&#34;你的性别是什么?&#34;,&#34;你多大了?&#34;,&#34;男&#34;, &#34;非雄性&#34;和#34;我年满18岁<&strong>。。
如何编辑它以列出所有表格和所有问题,除了那些NULL TYPE问题,没有使用VANILLA LOOP (在ToList()调用之后)?