Paging DataGrid problem

Hello!
I have a problem with DataGrid behavior.
Simple table:
int Id
string Name
double Value

10 records with:
1, Name1, 1.33
2, Name2, 1.33
3, Name3, 1.33
4, Name4, 1.33
5, Name5, 1.34
6, Name6, 1.34
7, Name7, 1.34
8, Name8, 1.34
9, Name9, 1.34
10, Name10, 1.34

Create a DataGrid with paging and set PageSize =2, PageNumbersCount = 2
Then, sort grid by "Value" Property.
While paging, the grid displays duplicate NAME values and does not display some entries at all.
In this example, the first page displaying Name2, Name1; second page Name4, Name1(!); third page
Name5,8; next Name 9,10 and finally page Name 6,7
WHERE Name3????

Not sure why you have such problem. Here is what I've tried and it worked normally:

@page "/datagrid"

@using NorthwindBlazor.Data
@using NorthwindBlazor.Models.Northwind
@using Microsoft.EntityFrameworkCore

@inject NorthwindContext dbContext

<RadzenExample Name="DataGrid">
    <RadzenGrid AllowPaging="true" PageSize="2" AllowSorting="true" Data="@data" TItem="MyObject">
        <Columns>
            <RadzenGridColumn TItem="MyObject" Property="Id" Title="Id" />
            <RadzenGridColumn TItem="MyObject" Property="Name" Title="Name" />
            <RadzenGridColumn TItem="MyObject" Property="Value" Title="Value" />
        </Columns>
    </RadzenGrid>
</RadzenExample>
@code {
    IEnumerable<MyObject> data;

    protected override void OnInitialized()
    {
        data = Enumerable.Range(0, 10).Select(i => new MyObject() { Id = i, Name = $"Name{i}", Value = i < 5 ? 1.33 : 1.34 });
    }

    public class MyObject
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public double Value { get; set; }
    }
}

Many thanks for reply!
But on local collection this works normally, right.
Try to do this with database table.
The problem is that a sql query of this type is being generated:

SELECT s. "Id", s. "Name", s. "Value"
FROM public. "Students" AS s
ORDER BY s. "Value"
LIMIT 2 OFFSET 2

which returns data for the second page, skipping record number 3, instead of it shows record number 1

That SQL looks perfectly fine to me. No idea why it returns unexpected results.

Fantastic..same sql query to different db providers and:
Postgresql returns unexpected results, even by manual query in pgadmin;
MySql works fine...
The problem can be solved by including the id column in the sorting condition. tell me how you can do this?

Solution to the problem:
If you intend to sort data with rolling values, you should only use data loading via the LoadData event and override the method:

if (!string.IsNullOrEmpty(query.OrderBy)) items = items.OrderBy(query.OrderBy).ThenBy(x => x.Id);

You must add another sorting condition by some unique field.
Otherwise, any server will return unexpected results.

example discussion