public void Save(IWorkspace Workspace, IRow Row, BaseModel BaseModel, ModelProperty Property)
        {
            EntityKeyFieldAttribute _keyField = (EntityKeyFieldAttribute)Property.Attribute;

            if (String.IsNullOrEmpty(_keyField.Sequence))
            {
                Row.set_Value(Row.Fields.FindField(Property.Attribute.FieldName), Convert.ChangeType(Property.Property.GetValue(BaseModel, null), Property.Attribute.FieldType));
            }
            else
            {
                ICursor cursor = Helper.GDBCursor.obterCursor((IFeatureWorkspace)Workspace, "SYS.DUAL", _keyField.Sequence + ".NEXTVAL", "");
                IRow    row    = cursor.NextRow();
                Row.set_Value(Row.Fields.FindField(Property.Attribute.FieldName), Convert.ChangeType(row.get_Value(0).ToString(), Property.Attribute.FieldType));
            }
        }
        public string Save(IWorkspace Workspace, BaseModel BaseModel, ModelProperty Property)
        {
            EntityKeyFieldAttribute _keyField = (EntityKeyFieldAttribute)Property.Attribute;

            if (String.IsNullOrEmpty(_keyField.Sequence))
            {
                return(FieldFormatHelper.FormatField(Property.Property.GetValue(BaseModel, null), Property.Attribute.FieldType));
            }
            else
            {
                ICursor cursor = Helper.GDBCursor.obterCursor((IFeatureWorkspace)Workspace, "SYS.DUAL", _keyField.Sequence + ".NEXTVAL", "");
                IRow    row    = cursor.NextRow();

                Property.Property.SetValue(BaseModel, Convert.ChangeType(row.get_Value(0).ToString(), Property.Attribute.FieldType), null);

                return(row.get_Value(0).ToString());
            }
        }