We’ve developed some resources to help you work effectively from home during COVID-19 Click to learn more

Netserver Core 8.2 backwards compatibility

Hi,

I've read a couple of the topics here regarding the 8.2 libraries (I'm using SuperOffice.NetServer.Core Nuget package latest version) and backwards compatibility.

As far as I understand the codebase have been totally rewritten.

I'm attempting to execute this code against a local on-premise SO 8.1 database.

                    var cate_csea = new CategoryRows.CustomSearch();
                    cate_csea.Restriction = cate_csea.TableInfo.Deleted.Equal(S.Parameter(0));
                    CategoryRows cateRows = cate_csea.ToCategoryRows();

I was told that the Nuget packages were backward compatible to SO 7.5 if you use agents, but is this not the case with core NetServer calls ?

The third line above (ToCategoryRows) throws and exception that looks like this:

Failed to execute database command: '/* Default | PH (2) |  | SuperOfficeCRMRowsCategoryRowsCustomSearch */SELECT T0."Category_id", T0."name", T0."rank", T0."tooltip", T0."deleted", T0."registered", T0."registered_associate_id", T0."updated", T0."updated_associate_id", T0."updatedCount", T0."CategoryFamily_id", T0."family_id" FROM  crm7."CATEGORY" T0  WHERE T0."deleted" = @P0' 
On Database: 'System.Data.SqlClient.SqlConnection' 
With connection string: 'Server=localhost;Database=DSTest81;User ID=crm7;'.' 
Parameters:
    @P0 (Int32) = '0'

And an inner exception that looks like this:

InnerException = {"Invalid column name 'CategoryFamily_id'."}

Stacktrace:

   at SuperOffice.Data.SoCommand.ExecuteReader(Nullable`1 behaviour, Int32 pageSize, Int32 pageWanted) in C:\agent2\_work\37\s\Server\Source\SoDataBase\Data\SoCommand.cs:line 539
   at SuperOffice.CRM.Rows.TableRowsBase.RowsLoad(ITableRowLoadHandlerFactory tableRowHandlerFactory) in C:\agent2\_work\37\s\Server\Source\SoDataBase\CRM\Rows\TableRowsBase.cs:line 131
   at SuperOffice.CRM.Rows.PrivateFactory.PrivateCategoryRowsFactory.SuperOffice.Factory.IPrivateFactory.Create(Type type, Type[] constructorArgumentTypes, Object[] constructorArguments) in C:\agent2\_work\37\s\Server\Source\SoDataBase\CRM\Rows\gen\Category.cs:line 2175
   at SuperOffice.Factory.TypeFactories.Create(Type type, Type[] constructorArgumentTypes, Object[] constructorArguments) in C:\agent2\_work\37\s\Server\Source\SoCore\Factory\TypeFactories.cs:line 155
   at SuperOffice.Factory.ClassFactory.Create(Type type, Type[] constructorArgumentTypes, Object[] constructorArguments) in C:\agent2\_work\37\s\Server\Source\SoCore\Factory\ClassFactory.cs:line 343
   at SuperOffice.Factory.ClassFactory.Create(Type type, Object[] constructorArguments) in C:\agent2\_work\37\s\Server\Source\SoCore\Factory\ClassFactory.cs:line 279
   at SuperOffice.CRM.Rows.CategoryRow.CategoryRowIdxBase.ToCategoryRows(ITableRowLoadHandlerFactory tableRowHandlerFactory) in C:\agent2\_work\37\s\Server\Source\SoDataBase\CRM\Rows\gen\Category.cs:line 1791
   at SuperOffice.CRM.Rows.CategoryRow.CategoryRowIdxBase.ToCategoryRows() in C:\agent2\_work\37\s\Server\Source\SoDataBase\CRM\Rows\gen\Category.cs:line 1777
   at Adwiza.DataSync.TransStringToCategory.Translator.BuildMemoryData() in E:\VS 2017 Solutions\DataSync\OnPrem\Adwiza\AdwizaWork\AdwizaWork\DataSync.Net\Translators\TransStringToCategory\Translator.cs:line 192
   at Adwiza.DataSync.Translator.Utils.TransUtils.BuildMemoryData(Object pTrans) in E:\VS 2017 Solutions\DataSync\OnPrem\Adwiza\AdwizaWork\AdwizaWork\DataSync.Net\Adwiza.DataSync.Translator.Utils\TransUtils.cs:line 26
   at Adwiza.Memory.memSOLister.baseBuildingMemoryLists(SyncConfigTranslator psct, SyncConfigField scf, JobType pJobType) in E:\VS 2017 Solutions\DataSync\OnPrem\Adwiza\AdwizaWork\AdwizaWork\DataSync.Net\Adwiza.Memory\LoadJobUdefLists.cs:line 1161

Obviously CategoryFamily_id does not exist in 8.1, but can I conclude that if we should use dedicated (8.1) versions of NetServer Core NuGet packages against an 8.1 SO database, and the same for 8.0 etc. etc. ?