【发布时间】:2012-06-22 16:04:50
【问题描述】:
我正在创建一个新的 ViewModel 来统计调查结果,对该数据执行一些计算,然后将新计算返回到视图。我无法弄清楚如何在集合中包含常规的“字符串”数据。
var data = from SurveyResponseModel in db.SurveyResponseModels
group SurveyResponseModel by SurveyResponseModel.MemberId into resultCount
select new ResultsViewModel()
{
MemberId = resultCount.Key,
UseNewTreatmentResult = db.SurveyResponseModels.Count(r => r.UseNewTreatment),
UseBetterTechniqueResult = db.SurveyResponseModels.Count(r => r.UseBetterTechnique),
ChangesOthersResult = db.SurveyResponseModels.First(r => r.ChangesOthers),
};
return View(data);
第一部分是计算布尔响应并将它们作为整数传递回 ViewModel。包含ChangesOthersResult = db.SurveyResponseModels.First(r => r.ChangesOthers), 的部分应该只从模型中选择字符串并传递给视图模型。我目前收到有关从字符串类型更改为布尔类型的语法错误。我不确定这是什么语法。
public class SurveyResponseModel
{
[Key]
public int ResponseId { get; set; }
public int MemberId { get; set; }
public int ProgramId { get; set; }
[DisplayName("Use a new treatment")]
public bool UseNewTreatment { get; set; }
[DisplayName("Use better/more updated technique")]
public bool UseBetterTechnique { get; set; }
[DisplayName("Other (please specify):")]
public string ChangesOthers { get; set; }
}
public class ResultsViewModel
{
public int MemberId { get; set; }
public int ProgramId { get; set; }
[DisplayName("Use a new treatment")]
public int UseNewTreatmentResult { get; set; }
[DisplayName("Use better/more updated technique")]
public int UseBetterTechniqueResult { get; set; }
[DisplayName("Other (please specify):")]
public string ChangesOthersResult { get; set; }
}
【问题讨论】:
-
你能发布你得到的确切错误吗?
-
顺便说一句,你这里有两个点
SurveyResponseModels..First...这是复制/粘贴错误吗? -
糟糕,现在应该修复了。我得到的错误是“无法将类型'string'隐式转换为'bool'”
标签: c# asp.net-mvc-3 linq entity-framework linq-to-entities