xBimTeam / XbimEssentials

A .NET library to work with data in the IFC format. This is the core component of the Xbim Toolkit
https://xbimteam.github.io/
Other
494 stars 173 forks source link

Support Esent on net standard #346

Open andyward opened 4 years ago

andyward commented 4 years ago

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 commented 4 years ago

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

RespectableRuessel commented 4 years ago

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.

andyward commented 4 years ago

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