Простая работа с хранилищем

Простая работа с хранилищем
Atom
1/23/2012
freelancer


Хочу все сделки сохранять в базу SQLite (ту что в гидре).
Но не могу!

Code
TradingStorage storage = new TradingStorage(new Database("MyRobot", "Data Source=" + dbPath + ";Version=3;") { Provider = new SQLiteDatabaseProvider() });


И пошло:

1.
Code
storage.Securities.Save(sec);

Вылетает: Знак "#", шестнадцатеричное значение 0x23, не может стоять в начале имени.
2.
Code
storage.Orders.Save(o);

Вылетает: Ссылка на объект не указывает на экземпляр объекта.
3.
Code
storage.MyTrades.Add(trade)

Вылетает: Instance value for field 'Exchange' is null. Имя параметра: instance

Tags:


Thanks:


Mikhail Sukhov

Avatar
Date: 1/23/2012
Reply


Гидра использует 1-ый вариант без проблем. Что там с инструментом, который вызывает ошибку? Варианты 2 и 3 вообще не тестированы.
Thanks:

freelancer

Avatar
Date: 1/23/2012
Reply


Code
_trader.NewSecurities += securities => securities.ForEach(sec =>
{
	storage.Securities.Save(sec);
});

Да просто инструмент...
Thanks:

freelancer

Avatar
Date: 1/23/2012
Reply


А так добавилось:

Code
Security sClone = sec.Clone();
sClone .ExtensionInfo = new Dictionary<object, object>();
storage.Securities.Save(sClone);
Thanks:

Mikhail Sukhov

Avatar
Date: 1/23/2012
Reply


freelancer
А так добавилось:

Code
Security sClone = sec.Clone();
sClone .ExtensionInfo = new Dictionary<object, object>();
storage.Securities.Save(sClone);


Значит что-то в ExtensionInfo недопустимое.
Thanks:

freelancer

Avatar
Date: 1/23/2012
Reply


Вот
Thanks:


Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy