То, что вы возвращаете, это ValueTuple
, это просто особый вид Tuple
, который позволяет компилятору интерпретировать такие вещи, как rollno
и email
как эквивалентные Item1
, Item2
,и т.д. на Tuple
. Однако, когда вы сериализуете это (что происходит, когда вы возвращаете его из действия), оно собирается сериализоваться как Tuple
, потому что это то, что на самом деле скрыто, что приводит к появлению Item1
и Item2
из стирки.
Короче говоря, вы не должны возвращать кортежи, ValueTuple
или нет, из методов действий. Создайте класс для представления того, что вы возвращаете, а затем верните экземпляр этого класса.