Microsoft почти признала, что Платформа Объекта ADO.NET не является ORM (я не могу в настоящее время находить ссылку). Таким образом, при размышлении о Платформе Объекта как о механизме запроса тогда, по-видимому, действительно хорошо в том, что это делает. Для полного решения ORM Вы могли бы хотеть посмотреть в другом месте как бы то ни было.
следующее сообщение в блоге, кажется, подтверждает это различие:
http://blogs.msdn.com/dsimmons/archive/2008/05/17/why-use-the-entity-framework.aspx
Хороший способ убедиться, что у всех все настроено правильно, - это использовать svn externals. Вы можете создать что-то вроде /trunk/boost1.35
, а затем указать на это с помощью svn external.
Таким образом, по мере выхода новых версий boost вы можете просто перенаправить свой svn external на /trunk/boost1.40
В вашем репозитории ваш внешний svn указывает на эту папку svn в вашем репозитории. Пример / depends / boost
Мы лично держим файлы заголовков boost под контролем источника, как описано, но храним библиотеки в виде zip-архива, который мы требуем, чтобы все загрузили. У нас есть переменная окружения, похожая на следующую BOOST_LIB, и мы указываем ее на текущий каталог библиотеки boost.
Я создал Boost под Windows. Утилита установки bjam автоматически обнаруживает MSVC и использует его для компиляции; Я бы не возражал против строительства самостоятельно. На самом деле это лишь ненамного сложнее, чем "./configure && make && make install".
Самостоятельное создание может быть необходимым , потому что библиотеки Boost, доступные в Интернете, не включают поддержку ICU (Unicode), например, для библиотеки boost_regex.
Еще одна вещь, которую следует учитывать, это то, требуется ли вам полное или частичное усиление. Что мы здесь делаем, так это помещаем исходный код в систему управления версиями и создаем единый проект-оболочку для библиотек, которые мы действительно хотим использовать. Отдельные библиотеки написаны достаточно чисто, чтобы можно было просто перетащить все файлы cpp в новый проект Visual Studio. Возможно, вам потребуется настроить заголовок конфигурации верхнего уровня (я думаю, что я установил это как принудительное включение), и все это будет построено очень легко. Добавьте этот проект в качестве зависимости в свое решение, и это означает, что вы можете хранить все двоичные файлы вне SCM, а также обеспечить, чтобы все всегда были в актуальном состоянии.
В любом случае большая часть повышения предназначена только для заголовков, поэтому вы можете найти что есть лишь несколько библиотек, которые вы хотите создать.
На самом деле мы создаем собственный установщик, состоящий только из тех частей Boost, которые мы используем в нашей работе, и передаем его ИТ-специалистам для установки на машины разработчиков. Мы также храним эту копию boost в системе контроля версий, чтобы мы могли правильно отслеживать зависимости между ней и остальной частью нашей системы и строить ее сами.
Я полагаю, что с точки зрения работы это худшее из обоих миров. Но это дает нам максимальный контроль.
Я бы использовал программу установки, если вам не нужно настраивать флаги сборки. Это намного проще, и усиление строительства (по крайней мере, в последний раз, когда я это делал) не было самым ясным процессом. Ничто не мешает вам загрузить источник, соответствующий версии повышения, которую дает вам установщик, и поместить его в систему контроля версий. Это подход, который я использовал в прошлом для других библиотек (nss, iplanet sdk), и он работал хорошо.
- Вещи больше не являются самодостаточными (т.е. каждый член команды должен установить Boost, а затем настроить Visual Studio для его распознавания).
- Я не могу держать Boost под контролем источника (я в идеале хотелось бы, чтобы это были исходные файлы в моем исходном элементе управления, как и все остальное).
Перед тем, как поместить Boost в исходный элемент управления, имейте в виду, что скомпилированные библиотеки занимают несколько гигабайт. (моя папка Boost составляет около 5 ГБ) Возможно, стоит позволить каждому установить Boost для себя.
Помимо этого, установщик должен работать нормально, но компилировать его самому также очень тривиально.
Boost устанавливает по умолчанию в папки, зависящие от версии (как если вы скомпилируете его самостоятельно, так и если вы используете установщик), поэтому достаточно просто установить несколько версий рядом.
Я бы рекомендовал сначала запустить bootstrap.bat - он соберет bjam.exe, а затем
bjam --stagedir="c:\Program Files\Boost" --build-type=complete --toolset=msvc-9.0 --with-regex --with-date_time --with-thread --with-signals --with-system --with-filesystem --with-program_options stage
bjam --stagedir="c:\Program Files\Boost" --build-type=complete --toolset=msvc-10.0 --with-regex --with-date_time --with-thread --with-signals --with-system --with-filesystem --with-program_options stage
..
Вам просто нужно указать правильный набор инструментов. Все двоичные файлы будут помещены в папку .. \ lib.
Несколько моментов, чтобы НЕ держать его под контролем источника:
Я лично не стал бы собирать ее сам - например, в Linux Я всегда использую предоставленный дистрибутив пакет.
Я рекомендую использовать программу установки.
Самостоятельная сборка не является жесткий. Вот процедура:
Download boost into C:\Program Files\boost\boost_1_40_0Однако это достаточно медленно и достаточно сложно, особенно последний шаг, поэтому вы и все остальные, вероятно, время от времени что-то напортачите, что приведет к потере многих часов на сортировку таинственной сборки ошибки - по крайней мере, это мой опыт.Open the command prompt and change your current directory to the Boost root directory bootstrap .\bjam The library binaries are now sprinkled through the folders under C:\Program Files\boost\boost_1_40_0\bin.v2 Find the required libraries and copy them to C:\Program Files\boost\boost_1_40_0\lib ( Do not confuse folders called lib and libs! )