我需要修改下面提到的方法以返回字符串列表。它将contactid作为输入,并应返回调查表列表

public string GetFatcaQuestionnaire(int contactId, string questionnaireType)
{
    using (var context = new dbDealingContainer())
    {
        if (context.Connection.State == ConnectionState.Closed)
            context.Connection.Open();

        var fatcaQuestionaires = context.FatcaQuestionaires.FirstOrDefault(p => p.ContactID == contactId && p.QuestionnaireType == questionnaireType);
        return fatcaQuestionaires != null ? fatcaQuestionaires.Questionaire : null;
    }
}


提出的新方法

public List<string> GetFatcaQuestionnaire(int contactId)
{
    using (var context = new dbDealingContainer())
    {
        if (context.Connection.State == ConnectionState.Closed)
            context.Connection.Open();

        var fatcaQuestionaires = context.FatcaQuestionaires.Select(p => p.ContactID == contactId).ToList();
        return fatcaQuestionaires.ToList();
        //return fatcaQuestionaires.ToList() != null ? fatcaQuestionaires : null;
    }
}


实际只需要返回一个fatcaQuestonaires列表。 Questionaire,而不是整个fatcaQuestonaires对象。有人可以告诉我如何去做吗。

最佳答案

使用.Select(x => x.MyProp);投影出所需的属性。

return fatcaQuestionaires.Select(x => x.Questionaire).ToList();

10-07 22:20