VB.NETコード、テストされていませんが、私が持っていたoracleDecimalに似たものを使用しました。C#への変換は簡単なはずです。
OracleDecimal oraDec = MDSYS.SDO_GEOMETRY(2001, 1041001,
MDSYS.SDO_POINT_TYPE(-2.89957214912471,1.56043985049899E-15,NULL),NULL,NULL)
oraDec = OracleDecimal.SetPrecision(oraDec, 28) ' !!!
Decimal netDec = oraDec.Value