XbimEssentials icon indicating copy to clipboard operation
XbimEssentials copied to clipboard

Support Esent on net standard

Open andyward opened this issue 5 years ago • 3 comments

Microsoft have release interop wrappers for Esent supporting netstandard.

If we upgrade then net core projects can use Essentials with the Esent IModel & its performance benefits

I don't believe this will work on Linux/Mac netCore builds as we're still reliant on the native Windows Esent library.

andyward avatar Jul 31 '20 15:07 andyward

Implemented but needs testing on various platforms. Still to do:

  • [ ] Establish what happens on Linux etc. when using EsentModel.
  • [ ] Determine if the IModelProvider implementations can be made smarter to default in Esent into the IfcStore when supported.

andyward avatar Aug 03 '20 14:08 andyward

Why is Esent actually used? Is it not possible to use a crossplatform database like LiteDB (which can also store files) etc? We need xBIM Geometry with UseHeuristicModelProvider, but on Windows and MacOS with NET Core 3. It is a pity that there is no compatible netstandard version.

RespectableRuessel avatar Aug 08 '20 11:08 RespectableRuessel

It's really a matter of history. Neither netcore or LiteDB were around in ~2010 when xbim first needed an open persistence layer suitable for the non-relational data in IFC.

The persistence layers are now pluggable (via IModel) and there is an issue relating to implementing another storage layer #59 (where you can read more of the rationale). We'd have to retain the Esent support for backward compatibility for the foreseeable future.

There's also another ticket on netcore geometry support over at xBimTeam/XbimGeometry/issues/248

andyward avatar Aug 10 '20 14:08 andyward