Возможно задаю банальный вопрос, но потратил уйму времени и не нашел ответа

(
Получаю из БД массив byte[] состоящий из 42 байтов, а именно
public struct WKBPoint
{
public byte byteOrder;
public UInt32 wkbType;
public Point point;
}
...
NpgsqlDataReader dr = command.ExecuteReader();
while (dr.Read())
{
//здесь хочу как с С++
//WKBPoint* p;
//p=&dr[0];
}
я так понимаю в управляемом коде это невозможно, но как то же решается? Объемы большие и копирование не желательно, если это не единственный выход