以下の3つのテーブルが以下のように構成されています。私はエンティティのフレームワークを3つのテーブルの間にクエリを joblink, usersubmitted, runstatus, submitted_time, changelist orderby submitted time
を取得するために参加する書き込みしようとしています。'string'型を暗黙的に 'System.Collections.Generic.List <string>'に変換できません。
私は、出力を返すホルダークラスを持っています... gerritsはList<string>
であり、これは1回の実行で複数の値を持つ可能性があることに注意してください。どのようにエラーを修正するか、これを達成するためのより良い方法がありますか?
ホルダークラス: -
namespace Dashboard.Model.ApiModels
{
public class LookaheadRunInfo
{
public string ECJobLink { get; set; }
public List<String> changelists { get; set; }
public string UserSubmitted { get; set; }
public string SubmittedTime { get; set; }
public string RunStatus { get; set; }
}
}
API: -
public IEnumerable<LookaheadRunInfo> GetLookaheadRunInfoSearch(LookaheadRunsFilterCriteria filterCriteria)
{
List<LookaheadRunInfo> lookaheadRunsInfo = new List<LookaheadRunInfo>();
var lookaheadRunData = bitDB.lookahead_run.OrderByDescending(x => x.lookahead_run_id).Skip(filterCriteria.PageNumber * filterCriteria.PageSize).Take(filterCriteria.PageSize).ToList();
foreach (var lookaheadRunRow in lookaheadRunData)
{
var lookaheadRunId = lookaheadRunRow.lookahead_run_id;
var lookaheadRuns = new LookaheadRunInfo();
lookaheadRuns = (from lrcl in bitDB.lookahead_run_change_list
join cl in bitDB.change_lists on lrcl.change_list_id equals cl.change_list_id
join lr in bitDB.lookahead_run on lrcl.lookahead_run_id equals lr.lookahead_run_id
where lrcl.lookahead_run_id == lookaheadRunId
orderby lr.submission_time
select new LookaheadRunInfo
{
ECJobLink = lr.ec_job_link,
//gerrits = cl.change_lists.Select(x => x.change_list.ToString()).ToList(),
changelists = cl.change_list.ToString(),
UserSubmitted = lr.submitted_by,
SubmittedTime =lr.submission_time.ToString(),
RunStatus = lr.lookahead_run_status,
}).ToList();
lookaheadRunsInfo.Add(lookaheadRuns);
}
return lookaheadRunsInfo;
}
TABLES: -
lookahead_run (Table#1)
+-------------------+--------+----------------+-------------------+----------+
lookahead_run_id(PK)|joblink | usersubmitted |submitted_time |runstatus
+-------------------+--------+----------------+-------------------+----------+
15963---------------+link1---+---username1----+2017-03-17 22:28:53--Fail-----
lookahead_run_change_list (Table#2)
+---------------+----------------+-----------------+
changelistid(PK)|lookahead_run_id|change_list_id
+---------------+----------------+-----------------+
38591-----------+15963-----------+34022
38590-----------+15963-----------+34021
38589-----------+15963-----------+34020
change_lists (Table#3)
+-------------+-----------+
change_list_id|changelist
+-------------+-----------+
34022-------- 1823900
34021-------- 1819483
34020-------- 1818572
エラー: -
Error 1 Cannot implicitly convert type 'string' to 'System.Collections.Generic.List<string>'
エラーを示す行はどれですか? –
@unlucky - 'changelists = cl.change_list.ToString()、'はエラー –
を表示します.cl.change_listの値が異なる複数のLookaheadRunInfoオブジェクトではなく、各ECJobLinkのcl.change_listのコレクションを返しますか? –