Класс данных в ядре asp.net

2

Если вы пытались использовать SQLClient в ядре asp.net, возможно, вы заметили отсутствие DataTables и DataSets, структур таблиц, используемых для ввода-вывода базы данных.

Для выходных данных у нас есть опция SqlDataReader. Но для входных данных мне еще предстоит найти решение этой проблемы - например. если вы хотите передать таблицу в SP по параметру в фреймворке 461, мы используем 'SqlDbType = SqlDbType.Structured и DataTable class'. Любые идеи кто-нибудь?

Библиотека, которую я использую: https://github.com/XML-Travelgate/xtg-data-sqlclient

Показать ещё 2 комментария
Теги:
sql-server
asp.net-core
datatable

2 ответа

5

Решение:

        List<SqlDataRecord> datatable = new List<SqlDataRecord>();
        SqlMetaData[] sqlMetaData = new SqlMetaData[2];
        sqlMetaData[0] = new SqlMetaData("id", SqlDbType.Int);
        sqlMetaData[1] = new SqlMetaData("name", SqlDbType.VarChar, 50);
        SqlDataRecord row = new SqlDataRecord(sqlMetaData);
        row.SetValues(new object[] { 1, "John" });
        datatable.Add(row);
        row = new SqlDataRecord(sqlMetaData);
        row.SetValues(new object[] { 2, "Peter" });
        datatable.Add(row);

        var task = dbBase.ExecProcedureDataTableWithParamsAsync<object>("VIEWTABLE", new List<SqlParameter>()
            {
                new SqlParameter()
                {
                     ParameterName = "@paramtable",
                     SqlDbType = SqlDbType.Structured,
                     Direction = ParameterDirection.Input,
                     Value = datatable
                }
            });
0

DataTable, DataSet и т.д. теперь можно реализовать с использованием .NET Core 2.0 и Visual Studio 2017 Preview 15.3 +

Ещё вопросы

Сообщество Overcoder
Наверх
Меню