質問を保持するテーブルがあり、回答テーブルに質問 ID がリストされているテーブルもあります。重複データのために、IDのみを使用します。
私の質問は、現在のテーブルの ID に基づいて質問を「ビューに」入力する方法です。それらはすでに MainQuestionID によって結合されています。最初に DBEntities コードを使用しています。
これがページのviewModelです。
public class AuditFormEdit
{
public Models.MainQuestion MainQuestionID { get; set; }
public ICollection<MainQuestion> mainQuestion { get; set; }
public List<SubcategoryHelper> SubcategoryHelperGet { get; set; }
public class SubcategoryHelper : Models.SubCategory
{
public SubcategoryHelper(Models.SubCategory subCat)
{
this.SubCategoryID = subCat.SubCategoryID;
this.SubcategoryName = subCat.SubcategoryName;
}
}
public Models.MainAnswer MainAnswerInstance { get; set; }
public List<ScoreCardCheckBoxHelper> ScoreCardCheckBoxHelperList { get; set; }
public void InitializeScoreCheckBoxHelperList(List<Models.Score> ScoreList)
{
if (this.ScoreCardCheckBoxHelperList == null)
this.ScoreCardCheckBoxHelperList = new List<ScoreCardCheckBoxHelper>();
if (ScoreList != null
&& this.MainAnswerInstance != null)
{
this.ScoreCardCheckBoxHelperList.Clear();
ScoreCardCheckBoxHelper scoreCardCheckBoxHelper;
string scoreTypes =
string.IsNullOrEmpty(this.MainAnswerInstance.Score) ?
string.Empty : this.MainAnswerInstance.Score;
foreach (Models.Score scoreType in ScoreList)
{
scoreCardCheckBoxHelper = new ScoreCardCheckBoxHelper(scoreType);
if (scoreTypes.Contains(scoreType.ScoreName))
scoreCardCheckBoxHelper.Checked = true;
this.ScoreCardCheckBoxHelperList.Add(scoreCardCheckBoxHelper);
}
}
}
public void PopulateCheckBoxsToScores()
{
this.MainAnswerInstance.Score = string.Empty;
var scoreType = this.ScoreCardCheckBoxHelperList.Where(x => x.Checked)
.Select<ScoreCardCheckBoxHelper, string>(x => x.ScoreName)
.AsEnumerable();
this.MainAnswerInstance.Score = string.Join(", ", scoreType);
}
public class ScoreCardCheckBoxHelper : Models.Score
{
public bool Checked { get; set; }
public ScoreCardCheckBoxHelper() : base() { }
public ScoreCardCheckBoxHelper(Models.Score score)
{
this.ScoreID = score.ScoreID;
this.ScoreName = score.ScoreName;
}
}
}
ご覧のとおり、MainQuestions の ICollection を呼び出していますが、質問に入力する方法がわかりません。また、sectionID に基づいて入力する必要があります。
改訂 2:51 2012 年 9 月 21 日
または、質問のリストを表示し、それに答えると、現在表示されているテーブルではなく、回答テーブルを更新する場合、2 つをどのように関連付けますか。