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

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


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

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

И пошло:

storage.Securities.Save(sec);

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

Вылетает: Ссылка на объект не указывает на экземпляр объекта. 3. ```csharp 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


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

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

Thanks:

freelancer

Avatar
Date: 1/23/2012
Reply


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

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

Mikhail Sukhov

Avatar
Date: 1/23/2012
Reply


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

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