<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Mongodb | The .NET Blog</title><link>https://thedotnetblog.com/it/tags/mongodb/</link><description>Articles, tutorials and insights from the .NET community.</description><generator>Hugo</generator><language>it</language><managingEditor>@thedotnetblog (The .NET Blog)</managingEditor><webMaster>@thedotnetblog</webMaster><lastBuildDate>Wed, 15 Apr 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://thedotnetblog.com/it/tags/mongodb/index.xml" rel="self" type="application/rss+xml"/><item><title>Aspire 13.2 aggiunge MongoDB EF Core e Azure Data Lake — Due integrazioni da provare</title><link>https://thedotnetblog.com/it/news/emiliano-montesdeoca/aspire-132-mongodb-efcore-data-lake/</link><pubDate>Wed, 15 Apr 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/it/news/emiliano-montesdeoca/aspire-132-mongodb-efcore-data-lake/</guid><description>Aspire 13.2 aggiunge le integrazioni MongoDB Entity Framework Core e Azure Data Lake Storage con health check e service discovery senza configurazione. Ecco come si presentano nella pratica.</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Questo post è stato tradotto automaticamente. Per la versione originale, &lt;a href="https://thedotnetblog.com/it/news/emiliano-montesdeoca/aspire-132-mongodb-efcore-data-lake/"&gt;clicca qui&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Aspire 13.2 è appena arrivato con &lt;a href="https://devblogs.microsoft.com/aspire/aspire-new-database-integrations/"&gt;due nuove integrazioni database&lt;/a&gt; che meritano la vostra attenzione: MongoDB Entity Framework Core e Azure Data Lake Storage. Se volevate usare EF Core con MongoDB in un&amp;rsquo;app Aspire, o avevate bisogno di collegare workload data lake con il service discovery, questa release offre entrambe le cose.&lt;/p&gt;
&lt;h2 id="mongodb-incontra-ef-core-in-aspire"&gt;MongoDB incontra EF Core in Aspire&lt;/h2&gt;
&lt;p&gt;Questa è quella che mi entusiasma di più. Aspire supporta MongoDB da un po&amp;rsquo;, ma è sempre stato il driver grezzo — niente EF Core, niente &lt;code&gt;DbContext&lt;/code&gt;, niente query LINQ sui vostri documenti. Ora avete l&amp;rsquo;esperienza completa di EF Core con MongoDB, più gli health check automatici e il service discovery di Aspire.&lt;/p&gt;
&lt;p&gt;La configurazione segue il classico pattern di Aspire. Nel vostro AppHost:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-csharp" data-lang="csharp"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kt"&gt;var&lt;/span&gt; &lt;span class="n"&gt;mongodb&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="n"&gt;builder&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;AddMongoDB&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;mongodb&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;WithDataVolume&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;WithLifetime&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ContainerLifetime&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Persistent&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kt"&gt;var&lt;/span&gt; &lt;span class="n"&gt;apiService&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="n"&gt;builder&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;AddProject&lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;Projects&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ApiService&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;api&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;WithReference&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;mongodb&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Poi nel progetto consumatore, aggiungete l&amp;rsquo;integrazione EF Core:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;dotnet add package Aspire.MongoDB.EntityFrameworkCore
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;E registrate il vostro &lt;code&gt;DbContext&lt;/code&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-csharp" data-lang="csharp"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;builder&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;AddMongoDbContext&lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;MyDbContext&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;mongodb&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;&amp;#34;mydb&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Da lì in poi, è EF Core standard. Definite le vostre entità, usate il vostro &lt;code&gt;DbContext&lt;/code&gt; come fareste con qualsiasi altro provider. L&amp;rsquo;integrazione gestisce il connection pooling, le trace OpenTelemetry e gli health check dietro le quinte.&lt;/p&gt;
&lt;p&gt;Per gli sviluppatori .NET che usavano MongoDB con il driver grezzo e configuravano le connection string manualmente, questo è un bel miglioramento. Ottenete l&amp;rsquo;astrazione completa di EF Core senza perdere il service discovery di Aspire.&lt;/p&gt;
&lt;h2 id="azure-data-lake-storage-entra-in-gioco"&gt;Azure Data Lake Storage entra in gioco&lt;/h2&gt;
&lt;p&gt;La seconda grande aggiunta è un&amp;rsquo;&lt;a href="https://aspire.dev/integrations/cloud/azure/azure-storage-datalake/"&gt;integrazione Azure Data Lake Storage (ADLS)&lt;/a&gt;. Se state costruendo pipeline di dati, processi ETL o piattaforme di analisi, ora potete collegare risorse Data Lake allo stesso modo di qualsiasi altra dipendenza Aspire.&lt;/p&gt;
&lt;p&gt;Nell&amp;rsquo;AppHost:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-csharp" data-lang="csharp"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kt"&gt;var&lt;/span&gt; &lt;span class="n"&gt;storage&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="n"&gt;builder&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;AddAzureStorage&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;azure-storage&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kt"&gt;var&lt;/span&gt; &lt;span class="n"&gt;dataLake&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="n"&gt;storage&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;AddDataLake&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;data-lake&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kt"&gt;var&lt;/span&gt; &lt;span class="n"&gt;fileSystem&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="n"&gt;storage&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;AddDataLakeFileSystem&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;data-lake-file-system&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kt"&gt;var&lt;/span&gt; &lt;span class="n"&gt;analyticsService&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="n"&gt;builder&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;AddProject&lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;Projects&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;AnalyticsService&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;analytics&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;WithReference&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;dataLake&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;WithReference&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;fileSystem&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Nel progetto consumatore:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-csharp" data-lang="csharp"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;builder&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;AddAzureDataLakeServiceClient&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;data-lake&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;builder&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;AddAzureDataLakeFileSystemClient&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;data-lake-file-system&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Nessuna gestione manuale delle connection string, nessuna caccia alle credenziali. Aspire effettua il provisioning delle risorse e le inietta. Per chi di noi costruisce app .NET cloud-native che toccano sia dati operazionali che workload analitici, questo fa sentire il data lake come un cittadino di prima classe nel modello Aspire.&lt;/p&gt;
&lt;h2 id="le-piccole-correzioni-che-contano"&gt;Le piccole correzioni che contano&lt;/h2&gt;
&lt;p&gt;Oltre alle funzionalità principali, ci sono alcuni miglioramenti degni di nota:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Fix della connection string MongoDB&lt;/strong&gt; — lo slash prima del nome del database ora viene gestito correttamente. Se avevate un workaround, potete rimuoverlo&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Export SQL Server&lt;/strong&gt; — &lt;code&gt;Aspire.Hosting.SqlServer&lt;/code&gt; ora esporta opzioni di configurazione server aggiuntive per un controllo più granulare&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Aggiornamenti emulatori&lt;/strong&gt; — emulatore ServiceBus 2.0.0, emulatore App Configuration 1.0.2, e l&amp;rsquo;emulatore preview di CosmosDB ora include un readiness check&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Azure Managed Redis&lt;/strong&gt; — ora usa &lt;code&gt;rediss://&lt;/code&gt; (Redis Secure) di default, quindi le connessioni sono crittografate fin da subito&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;L&amp;rsquo;ultimo punto è sottile ma importante — Redis crittografato di default significa una cosa in meno da configurare in produzione.&lt;/p&gt;
&lt;h2 id="per-concludere"&gt;Per concludere&lt;/h2&gt;
&lt;p&gt;Aspire 13.2 è una release incrementale, ma le integrazioni MongoDB EF Core e Data Lake colmano lacune reali. Se stavate aspettando un supporto EF Core adeguato con MongoDB in Aspire, o avevate bisogno del Data Lake come dipendenza di prima classe, &lt;a href="https://get.aspire.dev"&gt;aggiornate alla 13.2&lt;/a&gt; e provatele. Il comando &lt;code&gt;aspire add&lt;/code&gt; genera tutto il necessario.&lt;/p&gt;
&lt;p&gt;Leggete le &lt;a href="https://aspire.dev/whats-new/aspire-13-2/#-integrations-updates"&gt;note di rilascio complete&lt;/a&gt; per maggiori dettagli, e date un&amp;rsquo;occhiata alla &lt;a href="https://aspire.dev/integrations/gallery/"&gt;galleria delle integrazioni&lt;/a&gt; per la lista completa.&lt;/p&gt;</content:encoded></item></channel></rss>