datastorexpo Code
XPO (eXpress Persistent Objects) iBoxDB Data Store Adapter,
Brought to you by:
iboxdb
File | Date | Author | Commit |
---|---|---|---|
BenchmarkCRUD | 2023-03-03 |
![]() |
[fdd389] i391 |
DataStoreXPO | 2023-03-03 |
![]() |
[315497] 391 |
DataStoreXPOCore | 2023-03-03 |
![]() |
[fdd389] i391 |
XPOfficialTutorials | 2023-03-03 |
![]() |
[fdd389] i391 |
.gitignore | 2022-06-30 |
![]() |
[e79266] 3.5 |
Readme.md | 2023-03-07 |
![]() |
[fb2b84] rm |
DevExpress XPO Data Store Adapter.
// Dotnet Core
cd DataStoreXPOCore
dotnet run -c Release
$ tracker daemon -k
// Dotnet Core
cd BenchmarkCRUD
dotnet run -c Release
Copy source code in DataStoreXPO/Code to the project.
or add an ItemGroup to .csproj
<ItemGroup>
<Compile Include="..\DataStoreXPO\Code\*.cs" />
</ItemGroup>
Use CreateThreadSafeDataLayer to create IDataLayer
XpoDefault.DataLayer = IBoxDBDataStore.CreateThreadSafeDataLayer(1, path);
Set Base Class to NonPersistent for fast CRUD
[NonPersistent]
public class TBase : XPObject
{
public TBase(Session s) : base(s) { }
}
public class TMyObject : TBase
{
public TMyObject(Session s) : base(s) { }
}
Use MonoDevelop to Open /DataStoreXPO/, Tested on CentOS7 Linux
Project-Packages-Restore
Project-Options-Run-Default- Uncheck("Run as external console").
Run - Start without Debugging
if can't compile,
reinstall nuget packages: iBoxDB and DevExpress.Xpo.
and Restrt IDE.
<ItemGroup>
<PackageReference Include="iBoxDB" Version="3.9.1" />
<PackageReference Include="DevExpress.Xpo" Version="22.2.4" />
</ItemGroup>
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net7.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<!--
<Nullable>disable</Nullable>
-->
<Nowarn>CS2002</Nowarn>
</PropertyGroup>
or Compile the SourceCode to Assembly(DLL) before importing to the project.
(null) is a condition to control the workflow in complex SQL analysis.
and it can help the Application 400% faster.
dotnet run -c Release
18:SpeedNullableTest.cs , Run();
Null Test, if (testObj != null)
Count:2147483647, Time:891.1399
31:SpeedNullableTest.cs , Run();
Not Null Test, if (testObj != String.Empty)
Count:2147483647, Time:3458.771
use (ToList().Count) or add [not is null] condition (where obj != null)
Not all Linq can be translated into SQL.