вам нужно добавить класс [System.Serializable]
в PlayerItem
, например:
using System;
[System.Serializable]
public class PlayerItem {
public string playerId;
public string playerLoc;
public string playerNick;
}
MsSql позволяет не детерминированные функции в функциях разбиения:
CREATE PARTITION FUNCTION MyArchive(datetime)
AS RANGE LEFT FOR VALUES (GETDATE() – 10)
GO
Означает ли это, что записи старше 10 дней автоматически перемещаются в архив (первый) раздел? Конечно, нет.
В базе данных хранится дата, когда была создана схема секционирования, и использует ее наиболее (логическим) способом. Допустим, что одна из приведенных выше схем указана в 2000 -01-11, что делает разделительную дату 2000-01-01. Когда вы запрашиваете данные с датой ниже, чем начальная дата разграничения (border_value - 2000-01-01), вы будете использовать только раздел архива. Когда вы запрашиваете данные с датой выше, чем текущий день минус 10 дней (GETDATE () - 10), вы будете использовать только текущий раздел. Все остальные запросы будут использовать оба раздела, т. Е. Запрос данных с датой ниже текущей даты минус 10 дней, но выше даты разграничения (2000-01-01).
Это означает, что с каждым днем диапазон дат, для которых используются оба раздела, растет. И вам лучше было бы установить раздел на разделительную дату детерминированным образом.
Я не вижу никакого сценария, где это полезно.