Re[2]: Сериализация объектов в базу данных
От: Аноним  
Дата: 14.08.04 09:22
Оценка:
Здравствуйте, flashfm, Вы писали:

F>Здравствуйте, Аноним, Вы писали:


А>>Люди, кто-нить таким занимался? Если да, то не могли бы парочку примерчиков кинуть или ссылочки де почитать от ентом можно.


А>>Заранее благодарен.



F>Я делаю это так:


F>
F>public Guid CreateNew(Object Obj)
F>{

F>    Stream stream = new MemoryStream();
F>    myFormatter = new BinaryFormatter();
F>    myFormatter.Serialize(stream, Obj);

F>    // Set the position to the beginning of the stream.
F>    stream.Seek(0, SeekOrigin.Begin);

F>    byte[] byteArray = new byte[stream.Length];
F>    stream.Read(byteArray, 0, (int)stream.Length);
F>    stream.Close();
F>    return (Guid) myDs.ExecuteScalar("ObjectStorage_CreateNew", "@Obj", byteArray);
F>        /* myDs - объект вспомогательного класса для работы с БД,
F>           можешь использовать здесь метод ExecuteScalar класса SqlCommand */
F>}
F>


F>Хранимая процедура ObjectStorage_CreateNew:


F>
F>CREATE PROCEDURE dbo.ObjectStorage_CreateNew
F>(@Obj image)
F>AS
F>DECLARE @Id uniqueidentifier;
F>SET @Id = NEWID();
F>INSERT INTO Storage(Id, Obj)
F>VALUES(@Id, @Obj)
F>SELECT @Id
F>


Единственная проблема как мне кажется, что в таком случае нельзя SQL запросы юзать, а очень бы хотелось
Мне скорее всего даже не как сами объекты, а их пропертя надо сохранять в таблички. Вот правда встает тогда вопрос, как быть со связями объектов ( как минимум агрегация и наследование, уже не говоря о более сложных )
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.