Beispiel #1
0
        public static List <ITypeSymbol> FindModelTypes(IAssemblySymbol assembly)
        {
            var visitor = new ModelVisitor();

            visitor.Visit(assembly);
            return(visitor._types);
        }
Beispiel #2
0
        async Task <IEnumerable <string> > GetModelClassesAsync(DotNetProject project, CancellationToken token)
        {
            var compilation = await IdeApp.TypeSystemService.GetCompilationAsync(project, token);

            if (compilation != null)
            {
                var modelTypes     = ModelVisitor.FindModelTypes(compilation.Assembly);
                var dbContextTypes = await GetDbContextClassesAsync(project, token);

                return(modelTypes.Select(t => t.MetadataName).Except(dbContextTypes).Distinct().OrderBy(x => x));
            }
            return(Enumerable.Empty <string> ());
        }