Blazor - метод, возвращающий все значения таблицы базы данных вместо отфильтрованного списка из предложения WHERE - PullRequest
0 голосов
/ 31 января 2020

Я создаю пользовательский интерфейс CRUD на стороне сервера Blazor в Visual Studio 2019.

Я пытаюсь вернуть список кодов учета из таблицы SQL следующим образом:

    using Microsoft.EntityFrameworkCore;
    using System.Collections.Generic;
    using Microsoft.Data.SqlClient;
    using Microsoft.Extensions.Configuration;

        namespace CrudUI.Data
        {
            public class CrudService
            {
                private readonly ApplicationDbContext _context;
                public CrudService(ApplicationDbContext context)
                {
                    _context = context;
                }

            public async Task<List<Codes>>

                GetCodesResponseOneAsync()

                {
                var connectionValue = _iconfiguration.GetSection("ConnectionStrings").GetSection("DefaultConnection").Value;
                SqlConnection connection1 = new SqlConnection(connectionValue);
                var sql = "SELECT * FROM dbo.Codes WHERE ResponseLimit = 1";
                var command = new SqlCommand(sql, connection1);
                connection1.Open();
                command.ExecuteReader();
                return await _context.Codes.ToListAsync();
                }
             }
         }

Метод GetCodesResponseOneAsync возвращает все строки из dbo.Codes, а не только строки с ResponseLimit, которые = 1. Как бы я возвращал только строки из оператора SELECT?

1 Ответ

2 голосов
/ 31 января 2020

Удалить:

               var connectionValue = _iconfiguration.GetSection("ConnectionStrings").GetSection("DefaultConnection").Value;
                SqlConnection connection1 = new SqlConnection(connectionValue);
                var sql = "SELECT * FROM dbo.Codes WHERE ResponseLimit = 1";
                var command = new SqlCommand(sql, connection1);
                connection1.Open();
                command.ExecuteReader();

Так как это не актуально для вас (?).

И изменить:

return await _context.Codes.ToListAsync();

на

return await _context.Codes.Where(c=>c.ResponseLimit == 1).ToListAsync();

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...