web*_*ad3 5 c# linq razor asp.net-mvc-4
我有一个来自现有表的实体对象,它是一个Question表.
问题:
Id
Value
Run Code Online (Sandbox Code Playgroud)
我有另一个实体对象是一个Answer表,但是,它是非常平坦的:
QuestionAnswer:
Identity COL | QuestionAnswer1 | QuestionAnswer2 | QuestionAnswer3 ...
Run Code Online (Sandbox Code Playgroud)
我正在尝试构建一个HTML表格,我在1列中显示问题,然后在旁边的列中显示答案.
但由于答案表是平的,我遇到了问题.
@{int iCount = 0;
string answerKey = "";}
@foreach (var item in Model.Questions) {
var calc = iCount + 1;
answerKey = "QuestionAnswer" + calc.ToString();
<tr>
<td>@Model.Questions[iCount].Question</td>
<td> </td>
<td></td>
<td> </td>
<td>@Model.Answers[0].QuestionAnswer1</td>
<td> </td>
<td></td>
<td> </td>
<td></td>
</tr>
iCount++;
}
Run Code Online (Sandbox Code Playgroud)
我可以完美地显示问题,但由于表的设置方式,QuestionAnswer1显示所有显示不正确的问题:
Question1 | QA1
Question2 | QA1
Question3 | QA1
...
Run Code Online (Sandbox Code Playgroud)
我想要它
Question1 | QA1
Question2 | QA2
Question3 | QA3
...
Run Code Online (Sandbox Code Playgroud)
我想知道是否有办法使用iCount变量构建列名:
string QA = "QuestionAnswer"+iCount;
Run Code Online (Sandbox Code Playgroud)
然后我可以做这样的事情:
<td>@Model.Answers[0].QA</td>
Run Code Online (Sandbox Code Playgroud)
但那是不对的......我可以做这样的事情还是有另一种非常明显的方式?
这是我正在使用的模型:
public List<Question> Questions { get; set; }
public List<QuestionAnswer> QuestionAnswers { get; set; }
Run Code Online (Sandbox Code Playgroud)
小智 0
我同意 George 的观点,这与 Linq 没有什么关系,我希望数据库和视图之间有一层或多层。
您正在谈论有关问题和答案实际上如何相互联系的业务逻辑,并且在您看来,如果这不是一种直接的关系,则似乎没有必要尝试解决这个问题。
| 归档时间: |
|
| 查看次数: |
315 次 |
| 最近记录: |