【发布时间】:2019-10-17 10:01:08
【问题描述】:
我有一个视图模型并试图返回一个 linq 对象,我不确定如何在 linq 返回查询中添加一个列表对象。 我附上了示例代码以便更好地理解。
查看模型:
public class BusinessAnalysisViewModel
{
public Guid UserGuid { get; set; }
public List<BAQandR> QuestionResponseIds { get; set; }
public DateTime? CreateDate { get; set; }
public DateTime UpdateDate { get; set; }
}
public class BAQandR
{
public int BAQuestionId { get; set; }
public string BAResponse { get; set; }
public int? BAFinPreviousYr { get; set; }
public int? BAFinCurrentYr { get; set; }
}
Linq 查询:
public BusinessAnalysisViewModel GetBusinessAnalysisInfo(Guid userID)
{
using (var ctxAdmin = new MemberDataContext(ConfigurationManager.ConnectionStrings[Constants.CONFIG_KEY_MEMBER_CONNECTION_STRING].ToString()))
{
var model = (from ba in ctxAdmin.Business_Analysis
where ba.User_Guid == userID
select new BusinessAnalysisViewModel
{
UserGuid = ba.User_Guid,
CreateDate = ba.CreateDate,
UpdateDate = ba.UpdateDate,
QuestionResponseIds =
});
return model;
}
}
[![在此处输入图片描述][2]][2]
[![在此处输入图片描述][2]][2]
我希望我的逻辑会产生以下 json 结果。
{
"UserGuid": "000000000-4D3B-4598-A1FC-6B7B1D6D99D2",
"CreateDate": "2019-05-22T18:52:14.458Z",
"UpdateDate": "2019-05-22T18:52:14.458Z",
"QuestionResponseIds": [
{
"BAQuestionId": 1,
"BAResponse": 1,
"BAFinPreviousYr": "",
"BAFinPreviousYr": ""
},
{
"BAQuestionId": 1,
"BAResponse": 1,
"BAFinPreviousYr": "",
"BAFinPreviousYr": ""
},
{
"BAQuestionId": 1,
"BAResponse": 1,
"BAFinPreviousYr": "",
"BAFinPreviousYr": ""
},
{
"BAQuestionId": 1,
"BAResponse": 1,
"BAFinPreviousYr": "",
"BAFinPreviousYr": ""
}
]
}
我已经改变了模型如下图,
public class UserBusinessAnalysis
{
public Guid UserGuid { get; set; }
public DateTime? CreateDate { get; set; }
public DateTime UpdateDate { get; set; }
public int BAQuestionId { get; set; }
public string BAResponse { get; set; }
public int? BAFinPreviousYr { get; set; }
public int? BAFinCurrentYr { get; set; }
}
Linq如下图,
public List<UserBusinessAnalysis> GetBusinessAnalysisInfoByUserId(Guid userID)
{
using (var ctxAdmin = new MemberDataContext(ConfigurationManager.ConnectionStrings[Constants.CONFIG_KEY_MEMBER_CONNECTION_STRING].ToString()))
{
var model = (from ba in ctxAdmin.Business_Analysis
where ba.User_Guid == userID
select new UserBusinessAnalysis
{
UserGuid = ba.User_Guid,
CreateDate = ba.CreateDate,
UpdateDate = ba.UpdateDate,
BAQuestionId = ba.B_Analysis_Question_id,
BAResponse = ba.B_Analysis_Response,
BAFinPreviousYr = ba.Fin_Review_Previous_Year,
BAFinCurrentYr = ba.Fin_Review_Current_Year
}).ToList();
return model;
}
}
【问题讨论】:
-
不确定你在问什么。我没有看到任何列表。你能详细说明你想要做什么吗?
-
公开列表
QuestionResponseIds { get;放; } 是列表对象,请查看视图模型。 -
请不要在可以复制代码的时候发截图,这样会更难帮助你
标签: c# entity-framework linq asp.net-web-api