Выборка значения и запись её в переменную. WEB API

118
01 декабря 2020, 03:30

Можно ли вытащить значение parentid из result и использовать её в parent?

     [Route("api/brands/item")]
     [HttpGet]
     public async Task<TreeCat> Item(int id)
     {      
         var result = await Data.QueryFirstOrDefaultAsync<TreeCat>($@"SELECT id1c,@@parentid = parentid,name,content FROM treecat WHERE id1c = @num", new { num = id });  
         var parent = await Data.QueryAsync<TreeCatParent>($@"SELECT * FROM cat WHERE parentid IS NULL AND id1c = @@parentid");
         result.parent = parent; 
         return result;
     }

Если использовать @@parentid, то выводит ошибку

{"Message":"Произошла ошибка.","ExceptionMessage":"Unknown system variable 'parentid'","ExceptionType":"MySql.Data.MySqlClient.MySqlException","StackTrace":" в MySql.Data.MySqlClient.MySqlStream.ReadPacket()\r\n в MySql.Data.MySqlClient.NativeDriver.GetResult(Int32& affectedRow, Int64& insertedId)\r\n в MySql.Data.MySqlClient.Driver.GetResult(Int32 statementId, Int32& affectedRows, Int64& insertedId)\r\n в MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId, Boolean force)\r\n в MySql.Data.MySqlClient.MySqlDataReader.NextResult()\r\n в MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)\r\n в MySql.Data.MySqlClient.MySqlCommand.ExecuteDbDataReader(CommandBehavior behavior)\r\n в System.Data.Common.DbCommand.ExecuteDbDataReaderAsync(CommandBehavior behavior, CancellationToken cancellationToken)\r\n--- Конец трассировка стека из предыдущего расположения, где возникло исключение ---\r\n в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n в System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)\r\n в Dapper.SqlMapper.d__32`1.MoveNext()\r\n--- Конец трассировка стека из предыдущего расположения, где возникло исключение ---\r\n в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n в System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()\r\n в OptipartApi.Data.d__15`1.MoveNext() в C:\\Users\\katya\\Source\\Repos\\API_OLD\\OptipartApi\\OptipartApiCore\\Data.cs:строка 111\r\n--- Конец трассировка стека из предыдущего расположения, где возникло исключение ---\r\n в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n в System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()\r\n в OptipartApi.Controllers.BrandsController.d__5.MoveNext() в C:\\Users\\katya\\Source\\Repos\\API_OLD\\OptipartApi\\OptipartApi\\Controllers\\BrandsController.cs:строка 116\r\n--- Конец трассировка стека из предыдущего расположения, где возникло исключение ---\r\n в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n в System.Threading.Tasks.TaskHelpersExtensions.d__1`1.MoveNext()\r\n--- Конец трассировка стека из предыдущего расположения, где возникло исключение ---\r\n в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n в System.Web.Http.Controllers.ApiControllerActionInvoker.d__1.MoveNext()\r\n--- Конец трассировка стека из предыдущего расположения, где возникло исключение ---\r\n в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n в System.Web.Http.Controllers.ActionFilterResult.d__5.MoveNext()\r\n--- Конец трассировка стека из предыдущего расположения, где возникло исключение ---\r\n в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n в System.Web.Http.Dispatcher.HttpControllerDispatcher.d__15.MoveNext()"}

Пример json который должен создаться

{"id1c":"58","parentid":"24","name":"10.01 Детали блока цилиндров","content":null,"parent":[{"id1c":"24","name":"Двигатель"}]}
READ ALSO
Выбор поворота с помощью нейронной сети на AForge

Выбор поворота с помощью нейронной сети на AForge

Для курсовой работы пытаюсь прикрутить нейросеть на библиотеке AForgenet к миниигре, где требуется направить ракету в цель

132
Два Get запроса c#

Два Get запроса c#

Есть ли возможность сделать два Get запроса к одному API ? Например функция1 вернет число 1, функция2 вернет число 2Требуется для получение двух...

119
Как удалить свой профиль?

Как удалить свой профиль?

Как удалить свой профиль, но не везде, а только на ruSo или на SO?

108