使用Dapper通过组合键加载特定行

时间:2019-06-09 15:26:54

标签: dapper

考虑以下数据结构(简化)

CREATE TABLE data (
  country_code CHAR(2) NOT NULL,
  category_id INTEGER NOT NULL,
  details VARCHAR NOT NULL,
  PRIMARY KEY (country_code, category_id)
);


INSERT INTO data (country_code, category_id, details)
VALUES ('US', 1, 'United States Data'), ('FR', 2, 'France data'), ('DE', 1, 'Germany data');

SELECT * FROM data
WHERE (
  (country_code = 'US' AND category_id = 1) OR
  (country_code = 'FR' AND category_id = 2)
);

以及以下类和查询方法:

public class Query
{
    public string CountryCode { get; set; }
    public int CategoryId { get; set; }
}

public async Task<IEnumerable<dynamic>> GetSizesAsync(IEnumerable<Query> query)
{
}

我的要求是从SQL Server获得确切的(CountryCode, CategoryId)组合。是否有使用Dapper构建这种WHERE的内置方法?

我可以完全建立一个表值参数,将对插入其中,然后将其与我的data表联接,或者自己动态地构建SQL(我希望不惜一切代价避免这种情况),但是我d想知道Dapper是否支持开箱即用的功能。

0 个答案:

没有答案