Итак, если ваша проблема в том, как правильно представить значения профиля, вот как они хранятся в БД:
aspnet_Profile.PropertyNames содержит имена переменных профиля, соответствующий дескриптор хранилища и длину значения следующим образом:
[VariableName]: [Storage]: [Start]: [Length]: [VariableName] ...
где
- [VariableName] - имя переменной вашего профиля
- [Хранилище] - один символ. B для двоичного, S для струнного
- [Start] - начальная позиция значения в строке хранения или байтовом массиве
- [Длина] - длина значения
Пример : Тест1: S: 0: 10: Тест2: B: 0: 100: Тест3: S: 10: 5: ТестДата: S: 15: 95
aspnet_Profile.ProfileValuesString содержит значения профиля, объединенные одно за другим без разделителей или чего-либо еще. Чтобы сгенерировать это значение столбца, вам не нужно измерять длины значений. Чтобы читать оттуда, вы, очевидно, должны.
Примечание. Значения DateTime переносятся в XML при сериализации в PropertyValuesString.
Пример : TestStringABCDE <? Xml version = "1.0" encoding = "utf-16"?> 2011-07-29T10: 00: 28.1603073 + 04: 00
aspnet_Profile.ProfileValuesBinary в значительной степени совпадает с предыдущим. За исключением того, что это двоичный файл
Итак, сказав, что ваш сценарий будет состоять в том, чтобы поместить ваши данные CSV во временную таблицу в БД, а затем запустить над ними скрипт, чтобы сгенерировать PropertyNames (самая сложная часть здесь) и PropertyValuesString (самая простая часть). Вот и все.