.Net Core 2 FromSql问题

时间:2018-10-04 23:26:30

标签: asp.net-core-2.0

您好,我开始学习如何使用.Net Core。我一直试图让.FromSql()与我的查询之一一起工作。我遇到的问题是,当查询命中服务器时,当我使用query.MetricId设置@metricID时,@ metric被设置为@ metricID = N'“ 100”'。我使用sql探查器来查看为什么我一直没有得到任何回报,并且看起来像这样。

exec sp_executesql N' select * from metrics where rr.metric_id = @metricID',N'@metricID nvarchar(5)',@metricID=N'"100"'


    public async Task<List<MetricView>> GetMetricAsync(MetricQuery query)
    {
           string qry = @"select * from metrics where metricid = @metricID";
           SqlParameter metricID = new SqlParameter("@metricID", query.MetricId);

        try
        {
            var metricReturn = await _context.Metrics
                .FromSql(qry, metricID).ToListAsync();

             return _mapper.Map<List<MetricView>>(metricReturn);(dropdown);
        }
        catch (Exception e)
        {
            var t = e.Message;
            return null;
        }
        finally
        {
            _sqlConnection.Dispose();
        }
    }

   public class MetricQuery
   {
     public string MetricId { get; set; }
     public string MircoRegion { get; set; }
     public string Consortia { get; set; }
     public string Institution { get; set; }
     public string AcademicYear { get; set; }
   }

1 个答案:

答案 0 :(得分:0)

  

我遇到的问题是,当查询命中服务器时,@ metric设置为@ metricID = N'“ 100”'

对于此问题,这是由op在邮递员中添加额外的双引号引起的。

将其从邮递员中删除应该可以解决此问题。