IEngineEdite
StartEditing();StartEditOperation();.
StopEditOperation();StopEditing(true);
arcgis提供了编辑事务,支持数据回滚。但这种方式在使用ICursor方法去更新数据时会导致内存溢出,大量数据在ICursor的遍历过程中并不会释放,直到StopEditOperation();StopEditing(true);执行后才会释放。对于大数据量如何处理回滚还未知。
IPointCollection
接口的QueryPoint方法性能要优于GetPoint方法。
IFeature
UpdateFeature方法性能优于Store方法。
对于以删除的要素,通过IFeature.Table==null判断
Engine开发下没有esriLicenseProductCodeAdvanced许可,esriLicenseProductCodeAdvanced许可是在Desktop下使用的。
许可类型在Engine和Desktop的对应关系如下:
esriLicenseProductCodeEngine <> esriLicenseProductCodeBasic
esriLicenseProductCodeEngineGeoDB <> esriLicenseProductCodeStandard
所以Engine环境下很多高级的功能都无法使用,例如擦除工具、Identity等。可以通过Desktop帮助文档查看各个工具的许可级别来确定功能的可用性。