Изменения в ORM 5.0.0
Новое
- Add simply (Update/Insert style) order for write audit operation.
- Add interface
IODataExportService
. - Add geometry type support.
- Add
CheckLoadedProperty
generic extension methods. - Add delegate to check compatible property storage types.
- Add
PersistUtcDates
property toAuditService
. - Add
PKHelper
andFunctionBuilder
utilities.
Исправлено
- Fix for Init Custom
AuditService
. - Fix
DataService
init. - Fix
PostgresDataService
wrong access to short names dictionary in multithreading app. - Fix support multithreading in
View.AddProperty
method. - Fix error for inherited aggregator type with same storage.
- Fix empty file saving in
PostgresDataService
.
Изменено
- [BREAKINGCHANGE] Upgrade
Unity
to 5.x version. - Upgrade
Npgsql
to 3.x version.
Удалено
- [BREAKINGCHANGE] Support for .NET 3.5 and .NET 4.0 has been dropped - minimal version has been upgraded to .NET 4.5.
Изменения в ODataService 5.0.0
Новое
- Add exception handling in user functions.
- Add permissions for masters and details.
- Add export to excel with parameters.
- Add the ability to export to an excel function odata.
Исправлено
- Fix error when query contains same properties.
Изменено
- Update dependencies.
- Update
ODataService
package version to according ORM package version.
Переход на .NET 4.5
В связи с тем, что основной перечень создаваемых на платформе приложений уже давольно давно был переведён на .NET 4.5, было принято решение отказаться от использования .NET 3.5 в качестве основной версии при выпуске новых релизов. Напомним, что ранее Flexberry ORM поставлялся в виде NuGet-пакета, в котором присутствовали 3 версии: net35, net40, net45. Начиная с версии Flexberry ORM 5.0.0 в NuGet-пакете останется только net45.
В чём польза
Данное решение позволяет обновить зависимости, в частности Unity
и npgsql
, поскольку свежие версии этих пакетов также были лишены сборок для .NET ниже версии 4.5. Также технологам открываются возможности из .NET 4.5.
Что будет с проектами на .NET 3.5 и 4.0
Если проект не может по тем или иным причинам обновить версию .NET до 4.5, то остаётся возможность использования версии Flexberry ORM 4.1.0 включительно. В случае острой необходимости, по запросу будут выполняться работы по переносу исходного кода из текущей версии в ветки со старыми версиями и выпускаться обновления.
Про сломанную обратную совместимость и NuGet
Обновление ORM до версии 5.0 требует некоторого вмешательства в прикладной набор пакетов и, иногда, в исходный код - обратная совместимость нарушена из-за обновления пакетов Unity: потребуется перенастроить конфигурационные файлы и, возможно, using-и, поскольку у них сменились некоторые неймспейсы и названия сборок. Теперь используются следующие пакеты:
<dependency id="Unity.Abstractions" version="3.3.0" />
<dependency id="Unity.Configuration" version="5.2.2" />
<dependency id="Unity.Container" version="5.8.6" />
После обновления ORM до версии 5.* эти зависимости установятся автоматически, но обязательно нужно вручную удалить пакет (через NuGet Package Manager)
<dependency id="Unity" version="[2.1.505.2]" />
В конфигурационном файле нужно выполнить следующие изменения.
Было:
<section name="unity" type="Microsoft.Practices.Unity.Configuration.UnityConfigurationSection, Microsoft.Practices.Unity.Configuration" />
<!-- ... -->
<alias alias="singleton" type="Microsoft.Practices.Unity.ContainerControlledLifetimeManager, Microsoft.Practices.Unity" />
Стало:
<section name="unity" type="Microsoft.Practices.Unity.Configuration.UnityConfigurationSection, Unity.Configuration" />
<!-- ... -->
<alias alias="singleton" type="Unity.Lifetime.ContainerControlledLifetimeManager, Unity.Abstractions" />
В C# коде там где использовался неймспейс:
using Microsoft.Practices.Unity;
Теперь будет:
using Unity;