Проблема использования контейнеров в моделях C # - PullRequest
0 голосов
/ 08 октября 2018

Я пытаюсь использовать модели для получения своих контейнеров при выполнении хранимых процедур, но там говорится, что SP в SP.GR0007R, который является переменной моделей, является переменной, но используется как тип, но если я использую Cont.ReportManager.GR0007R вместо этого, ошибок не найдено, но и результата тоже нет.

Это мой код:

using (var db = new SqlConnection(connStr))
{
    var param = new DynamicParameters();
    switch (filter.RPTCode)
    {
        case "GR0007R":
            param.Add("@Name", !string.IsNullOrEmpty(filter.NAME) ? filter.NAME : string.Empty);
            var sp7r = await db.QueryAsync<SP.GR0007R>(filter.RPTQuery, param, commandType: CommandType.StoredProcedure);
            break;
    }
    res = true;
}

Здесь я объявляю SP

 public async Task<bool> GetReportData(Models.ReportManager.EswisReportModel SP, GetListParameterReportList filter)

, и этомоя модель

 public class EswisReportModel
{
    public Cont.ReportManager.GR0001R GR0001R { get; set; }
    public Cont.ReportManager.GR0002R GR0002R { get; set; }
    public Cont.ReportManager.GR0007R GR0007R { get; set; }
    public Cont.ReportManager.GR0008R GR0008R { get; set; }
    public Cont.ReportManager.GR0009R GR0009R { get; set; }
}

так что мне нужно конвертировать или есть другой способ назвать это?спасибо

1 Ответ

0 голосов
/ 08 октября 2018

Кажется, вы пытаетесь ввести имя экземпляра и свойства и надеетесь, что общая обработка будет настолько умной, чтобы знать, что вы имеете в виду тип поддержки этого свойства.Это не так.В соответствии со спецификацией C # вам нужно использовать имя типа, а не ссылку на него, или какое-то предполагаемое использование его через имя переменной.

Так вот почему вы должны использовать фактическое имя типа, Cont.ReportManager.GR0007R:

var sp7r = await db.QueryAsync<Cont.ReportManager.GR0007R>(...);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...