我有一个当前的工作解决方案,正在为列表中的每个项目 Id 执行新的数据库调用,并且我正在尝试执行单个调用,而不是从多个项目返回数据。
为此,我尝试将项目 ID 列表传递到访问 MySQL 数据库的 Dapper 查询中。我要么收到操作数应包含 1 列的错误,要么收到第一个结果,而不是数据库中每个 projectId 的结果。我当前使用的 c# 代码是
public List<ProjectPortalManager> GetPPTech(IEnumerable<int> projIds)
{
string sql = @"SELECT tProject.ProjectID,
tProject.ProjectName,
tProject.PMUserID,
if(cast(tproject.dateinit as char) = '0000-00-00 00:00:00',null,tproject.dateinit) as DateInit,
tproject.comments,
tproject.ProjectNumber,
c.LName,
c.FName,
c.orgid,
c.orgname as organization,
c.Email,
c.Phone
From tProject left Join tContacts c on tProject.PMUserID = c.UserId
Where tProject.ProjectID in (@ProjIds);";
try
{
List<ProjectManager> pms = Conn.Query<ProjectManager>(sql, new { ProjIds = new[] { projIds } }).ToList();
return pms;
}
catch (Exception …Run Code Online (Sandbox Code Playgroud)