Exemplo n.º 1
0
        private static List <IGrouping <string, MLModelConfig> > GetModelsGroupedByEntityName(
            UserConnection userConnection)
        {
            IMLModelLoader modelLoader   = ClassFactory.Get <IMLModelLoader>();
            var            schemaManager = userConnection.EntitySchemaManager;
            var            models        = modelLoader.LoadAllModels(userConnection, safe: true)
                                           .Where(item => {
                if (item.PredictedResultColumnName.IsNullOrEmpty())
                {
                    _log.Warn($"PredictedResultColumnName is empty for model {item.Id}{Environment.NewLine}"
                              + $"Metadata: {item.MetaData}{Environment.NewLine}"
                              + $"Entity schemaUid: {item.EntitySchemaId}{Environment.NewLine}");
                    return(false);
                }
                return(true);
            })
                                           .GroupBy(config => {
                var entitySchema = schemaManager.FindInstanceByUId(config.EntitySchemaId);
                return(entitySchema?.Name ?? "unknownSchema");
            })
                                           .ToList();

            return(models);
        }