Podcasts about ef core

  • 22PODCASTS
  • 70EPISODES
  • 43mAVG DURATION
  • 1MONTHLY NEW EPISODE
  • Dec 10, 2024LATEST

POPULARITY

20172018201920202021202220232024


Best podcasts about ef core

Latest podcast episodes about ef core

RadioDotNet
EventSource в HTTP, AOT в Яндексе, Locking в EF

RadioDotNet

Play Episode Listen Later Dec 10, 2024 113:30


Подкаст RadioDotNet выпуск №105 от 11 декабря 2024 года Сайт подкаста: radio.dotnet.ru Boosty (₽): boosty.to/RadioDotNet Темы: [00:01:20] — Optimistic Locking vs Pessimistic Locking in .NET code-maze.com/dotnet-optimistic-locking-vs-pessimist... [00:23:00] — Monitor your HTTP requests chnasarre.medium.com/implementing-dotnet-http-to-monitor-yo... [00:37:25] — Что не так с .NET в Yandex Cloud Functions habr.com/ru/articles/819213 youtube.com/watch youtube.com/watch [01:07:25] — Technology Radar Vol 31 thoughtworks.com/content/dam/thoughtworks/documents/rad... [01:24:15] — Тюним запросы в EF Core с помощью интерсепторов habr.com/ru/companies/skbkontur/articles/852022 [01:39:15] — Кратко о разном techcommunity.microsoft.com/blog/sysinternals-blog/procdump-1-0-fo... devblogs.microsoft.com/dotnet/introducing-the-dotnet-aspire-c... devblogs.microsoft.com/dotnet/introducing-dotnet-scaffold github.com/xoofx/ultra github.com/jfversluis/built-with-maui youtube.com/watch youtube.com/watch youtube.com/watch youtube.com/watch youtube.com/watch youtube.com/watch youtube.com/watch Фоновая музыка: Максим Аршинов «Pensive yeti.0.1»

RadioDotNet
Релизы .NET 9, C# 13, ASP.NET Core 9, EF Core 9, F# 9 и Aspire 9

RadioDotNet

Play Episode Listen Later Nov 27, 2024 160:22


Подкаст RadioDotNet выпуск №104 от 28 ноября 2024 года Сайт подкаста: radio.dotnet.ru Boosty (₽): boosty.to/RadioDotNet Темы: [00:01:55] — .NET Conf 2024 and .NET 9 dotnetconf.net devblogs.microsoft.com/dotnet/announcing-dotnet-9 youtube.com/playlist [00:04:30] — What's new in C# 13 learn.microsoft.com/dotnet/csharp/whats-new/csharp-13 [00:34:55] — What's new in .NET libraries for .NET 9 learn.microsoft.com/dotnet/core/whats-new/dotnet-9/libraries [00:48:35] — What's new in F# 9 learn.microsoft.com/dotnet/fsharp/whats-new/fsharp-9 [01:06:30] — What's new in the SDK and tooling for .NET 9 learn.microsoft.com/dotnet/core/whats-new/dotnet-9/sdk [01:16:15] — What's new in ASP.NET Core 9 learn.microsoft.com/aspnet/core/release-notes/aspnetcore-9.0 [01:27:20] — What's new in the .NET 9 runtime learn.microsoft.com/dotnet/core/whats-new/dotnet-9/runtime [01:48:40] — What's New in EF Core 9 learn.microsoft.com/ef/core/what-is-new/ef-core-9.0/whatsnew [02:00:20] — Visual Studio 2022 v17.12 with .NET 9 devblogs.microsoft.com/visualstudio/visual-studio-2022-v17-12... devblogs.microsoft.com/visualstudio/first-preview-of-visual-s... [02:09:45] — What's new in .NET Aspire 9 learn.microsoft.com/dotnet/aspire/whats-new/dotnet-aspire-9 [02:25:10] — ReSharper and Rider 2024.3 blog.jetbrains.com/dotnet/rider-2024-3-release blog.jetbrains.com/dotnet/resharper-2024-3-release  [02:29:30] — What's New in UI (MAUI, WPF, WinForms) learn.microsoft.com/dotnet/maui/whats-new/dotnet-9 learn.microsoft.com/dotnet/desktop/wpf/whats-new/net90 learn.microsoft.com/dotnet/desktop/winforms/whats-new/net90 Фоновая музыка: Максим Аршинов «Pensive yeti.0.1»

The .NET Core Podcast
Powering Up with Erik Jensen: An Introduction to EF Core Power Tools

The .NET Core Podcast

Play Episode Listen Later Oct 25, 2024 68:48


Metalama This episode of The Modern .NET Show is supported, in part, by Metalama, reduce your boilerplate code by up to 15% with Metalama's C#-to-C# template engine and reduce your code complexity today! Show Notes Hi everyone, Just a quick thing before we start: this episode was recorded in the middle of summer, which meant that Erik needed to have his office window open. It's possible to hear the outside traffic throughout, but rest assured that our editing team have done what they can to reduce it's presence. It's not that noticable and shouldn't affect your enjoyment of the show, but I wanted to give you a heads-up. Also, do remember that there's a full transcription available at the show's website; so check that out, too. Anyway, let's get to it. "So, I think my mantra for creating things like these tools is, "should be easy to get started and there should be a like an easy happy path but then if you want to deep dive and do a lot of options or even a t4 templates you can also do that," but there should be a simple happy path with good error reporting if something fails."— Erik Jensen Welcome friends to The Modern .NET Show; the premier .NET podcast, focussing entirely on the knowledge, tools, and frameworks that all .NET developers should have in their toolbox. We are the go-to podcast for .NET developers worldwide, and I am your host: Jamie "GaProgMan" Taylor. In this episode, Erik Jensen joined us to talk about EF Core Power Tools, and how you can use his project to increase your productivity with EF Core-based databases, regardless of the database technology used; if it's supported by EF Core, then the Power Tools extension supports it to. "The one that's definitely used the most is what in a tool is referred to as reverse engineering. Where you point to an existing database, which can be some of the database types I mentioned previously. Like SQL Server, as a SQL database, Postgres, Oracle, MySQL, and Firebird. And then the tool asks you for a number of options, like you can specify what namespaces you're using, and where the files are laid in your project, and many, many other options. And then when you press OK at that point, as you said, Jamie, the tool generates a DB context and some classes that represent your tables with navigations between the tables based on discovery of foreign key relationships."— Erik Jensen We also briefly touched on the MSBuild.Sdk.SqlProj project and its goal of giving cross-platform .NET developers a way to both describe and build their ideal database schema in code. We also covered Erik's personal process for dealing with feature requests, and how developers can ensure that that are providing valueable feedback to open-source projects; a subject that will come up again soon with future guest Scott Harden. Anyway, without further ado, let's sit back, open up a terminal, type in `dotnet new podcast` and we'll dive into the core of Modern .NET. Supporting the Show If you find this episode useful in any way, please consider supporting the show by either leaving a review (check our review page for ways to do that), sharing the episode with a friend or colleague, buying the host a coffee, or considering becoming a Patron of the show. Full Show Notes The full show notes, including links to some of the things we discussed and a full transcription of this episode, can be found at: https://dotnetcore.show/season-7/powering-up-with-erik-jensen-an-introduction-to-ef-core-power-tools/ EF Core Power Tools Contributors The following list is correct as of Oct 4th, 2024, and aims to show that it takes a village to create a tool as ubiquitous as EF Core Power Tools. It contains the top 10 (arranged by number of contributions) devs who have worked on EF Core Power Tools. Erik Ejlskov Jensen Stephan Over Varorbc Will 保哥 Pedro Rocha P. León Pratik Pote Emanuele Curati Jonathon Wyza Useful Links EF Core Power Tools wiki EF Core Power Tools on GitHub Install EF Core Power Tools as a .NET global tool XKCD: Dependency DacFx MSBuild.Sdk.SqlProj Episode 19 - The .NET Foundation with Jon Galloway Connect with Erik on GitHub Connect with Erik on X Erik's blog Music created by Mono Memory Music, licensed to RJJ Software for use in The Modern .NET Show Supporting the show: Leave a rating or review Buy the show a coffee Become a patron Getting in Touch: Via the contact page Joining the Discord Remember to rate and review the show on Apple Podcasts, Podchaser, or wherever you find your podcasts, this will help the show's audience grow. Or you can just share the show with a friend. And don't forget to reach out via our Contact page. We're very interested in your opinion of the show, so please get in touch. You can support the show by making a monthly donation on the show's Patreon page at: https://www.patreon.com/TheDotNetCorePodcast.

RadioDotNet
Релизы .NET 8, C# 12, ASP.NET Core 8, EF Core 8, F# 8 и Aspire Preview

RadioDotNet

Play Episode Listen Later Dec 6, 2023 175:16


Подкаст RadioDotNet выпуск №83 от 7 декабря 2023 года Сайт подкаста: radio.dotnet.ru Boosty (₽): boosty.to/RadioDotNet Темы: [00:01:29] — Announcing .NET 8 devblogs.microsoft.com/dotnet/announcing-dotnet-8youtube.com/playlist [00:19:30] — Announcing C# 12devblogs.microsoft.com/dotnet/announcing-csharp-12nietras.com/dotnet-and-csharp-versions [01:01:41] — Entity Framework Core 8 is available todaydevblogs.microsoft.com/dotnet/announcing-ef8 [01:09:28] — Announcing ASP.NET Core in .NET 8devblogs.microsoft.com/dotnet/announcing-asp-net-core-in-dotn... [01:27:38] — Announcing .NET MAUI in .NET 8devblogs.microsoft.com/dotnet/announcing-dotnet-maui-in-dotnet-8youtube.com/watch [01:31:55] — Announcing F# 8devblogs.microsoft.com/dotnet/announcing-fsharp-8 [01:46:35] — Introducing .NET Aspiredevblogs.microsoft.com/dotnet/introducing-dotnet-aspire-simpl...github.com/dotnet/aspire/blob/76b7b44e88a20ab45b9...mikehadlow.blogspot.com/configuration-complexity-clocktwitter.com/davidfowl/status/1725029376738423022github.com/dotnet/tye/issues/1622youtube.com/watchlearn.microsoft.com/dotnet/aspire [02:38:45] — Announcing NuGet 6.8devblogs.microsoft.com/nuget/announcing-nuget-6-8-maintaining...devblogs.microsoft.com/nuget/announcing-nuget-exe-and-nuget-c... [02:41:34] — Visual Studio 17.8 & 17.9devblogs.microsoft.com/visualstudio/visual-studio-17-8-now-av... Фоновая музыка:Максим Аршинов «Pensive yeti.0.1»

Azure DevOps Podcast
Giorgi Dalakishvili: Beyond Relational Data with Entity Framework - Episode 255

Azure DevOps Podcast

Play Episode Listen Later Jul 24, 2023 27:56


Giorgi Dalakishvili is a software developer with more than a decade of experience. He works mainly with C#, ASP.NET MVC/ASP.NET Core, REST, WCF, Xamarin, Android, iOS, Entity Framework, Azure, SQL Server, and Oracle.   Giorgi is an open-source author and contributor on GitHub and a member of the .NET Foundation and InfoQ Editor.   Topics of Discussion: [3:33] Giorgi has worked with all the frameworks and libraries that Microsoft has come out with over the past 10‒15 years. He discusses using Entity Framework and starting his small speaking engagements. [5:12] Sessionize is a website where you can put out some different topics that you'd be willing to speak on, and just reach out to different user groups to take the plunge and do some public speaking for the first time. [6:03] Other types of data with Entity Framework beyond relational data, such as hierarchical data type from SQL Server. [8:49] How it simplifies your life. [9:28] What about JSON? Are there any limitations on the back-end database? [13:00] Is the support in EF Core 7.0 good enough to give a try if you're going against SQL Server? [14:09] What other types of data are interesting to work with with Entity Framework? [14:36] Using geospatial data. What does it even look like? [18:30] Full text search, and how it's different from a regular text search. [23:20] There are a lot of features to uncover in relational databases that we aren't even aware of yet. [26:22] There are some problems and some tasks that are better solved with non-relational databases, but the majority can overlap between the two systems.   Mentioned in this Episodes: Clear Measure Way Architect Forum Software Engineer Forum Programming with Palermo — New Video Podcast! Email us programming@palermo.net Clear Measure, Inc. (Sponsor) .NET DevOps for Azure: A Developer's Guide to DevOps Architecture the Right Way, by Jeffrey Palermo — Available on Amazon! Jeffrey Palermo's Twitter — Follow to stay informed about future events! Architect Tips — Video podcast! Azure DevOps .NET Giorgi Dalakishvili   Want to Learn More? Visit AzureDevOps.Show for show notes and additional episodes.

RadioDotNet
Обзор .NET Conf 2022, .NET 7, C# 11, ASP.NET Core 7, EF Core 7, NuGet 6.4

RadioDotNet

Play Episode Listen Later Nov 27, 2022 105:58


Подкаст RadioDotNet выпуск №62 от 28 ноября 2022 года Сайт подкаста: radio.dotnet.ruТемы: [00:03:07] — .NET 7 is Available and .NET Conf 2022 dotnetconf.netdevblogs.microsoft.com/dotnet/announcing-dotnet-7  [00:16:17] — Welcome to C# 11 devblogs.microsoft.com/dotnet/welcome-to-csharp-11  [00:27:30] — Announcing F# 7 devblogs.microsoft.com/dotnet/announcing-fsharp-7 [00:31:38] — Announcing ASP.NET Core in .NET 7 devblogs.microsoft.com/dotnet/announcing-asp-net-core-in-dotn... [00:44:37] — Entity Framework Core 7 is available today devblogs.microsoft.com/dotnet/announcing-ef7 [00:49:36] — What's new in Windows Forms in .NET 7.0 devblogs.microsoft.com/dotnet/winforms-enhancements-in-dotnet-7 [00:57:38] — What's new for WPF in .NET 7 devblogs.microsoft.com/dotnet/wpf-on-dotnet-7 [01:01:05] — Announcing .NET MAUI for .NET 7 GA devblogs.microsoft.com/dotnet/dotnet-maui-dotnet-7 [01:04:42] — Announcing ML.NET 2.0 devblogs.microsoft.com/dotnet/announcing-ml-net-2-0 [01:07:50] — What's new in Orleans 7.0 devblogs.microsoft.com/dotnet/whats-new-in-orleans-7 [01:12:50] — Visual Studio 2022 17.4 is now available devblogs.microsoft.com/visualstudio/visual-studio-2022-17-4 [01:19:53] — Arm64 Visual Studio is officially here devblogs.microsoft.com/visualstudio/arm64-visual-studio-is-of... [01:21:25] — Introducing Visual Studio Rollback devblogs.microsoft.com/visualstudio/introducing-visual-studio... [01:26:28] — Announcing NuGet 6.4 devblogs.microsoft.com/nuget/announcing-nuget-6-4-signed-cent... [01:30:37] — .NET 7 SDK built-in container support and Ubuntu Chiseled laurentkempe.com/dotnet-7-sdk-built-in-container-suppor... Фоновая музыка: Максим Аршинов «Pensive yeti.0.1»

DevCouch
.NET 7 Up macht schlank

DevCouch

Play Episode Listen Later Nov 8, 2022 52:41


.NET 7 ist raus und wir sind dabei. Gleichzeitig aber auch C#11, ASP.NET Core 7 und EF Core 7. Das stellen wir einfach mal mit den wichtigsten Neuerungen vor. Ach ja, WinForms 7 und WPF 7 ist auch draußen, aber wen juckts? Manuel gibt auch wieder mit seinem MacBook und den ach so tollen Anwendungen die er hat an. Dieser Manuel. So eine Tröte.

Lambda3 Podcast
Lambda3 Podcast 294 – 20 anos de .Net

Lambda3 Podcast

Play Episode Listen Later Apr 8, 2022 83:32


Neste episódio do Podcast, o lambda Giovanni Bassi convida Igor Abade e Carlos dos Santos para uma conversa sobre os 20 anos de .Net. Entre no nosso grupo do Telegram e compartilhe seus comentários com a gente: https://lb3.io/telegram Feed do podcast: www.lambda3.com.br/feed/podcast Feed do podcast somente com episódios técnicos: www.lambda3.com.br/feed/podcast-tecnico Feed do podcast somente com episódios não técnicos: www.lambda3.com.br/feed/podcast-nao-tecnico Lambda3 · #294 - 20 anos de .Net Pauta: Como era antes? Lançamento do .NET em 2002: VB, C# e J# (Cobol.NET etc) Visual Studio .NET Framework, .NET Core, .NET Silverlight IronPython, IronRuby Open source all the things: Roslyn, ASP.NET Core, EF Core, Maui Compra da Xamarin TFS, VSO, VSTS, AzDO, Github? Próximos 20 anos Participantes: Carlos dos Santos - @cdssoftware Giovanni Bassi - @giovannibassi Igor Abade - @igorabade Edição: Compasso Coolab Créditos das músicas usadas neste programa: Music by Kevin MacLeod (incompetech.com) licensed under Creative Commons: By Attribution 3.0 - creativecommons.org/licenses/by/3.0

Azure DevOps Podcast
Arthur Vickers on Entity Framework in .NET 6 - Episode 170

Azure DevOps Podcast

Play Episode Listen Later Dec 6, 2021 38:18


This week, Jeffrey is joined by Arthur Vickers, an Engineering Manager on the Entity Framework team at Microsoft.   With Microsoft only just recently releasing .NET 6 and Entity Framework Core 6.0, it is no exaggeration to say that the last few weeks have been very busy for Arthur. With lots of feedback coming in from new users and over 100,000 downloads in just the first week on NuGet, Arthur has a ton to share about EF Core 6.0 with listeners today.   Arthur shares the origin story of how Entity Framework came to be, where it currently fits into the picture, what's new with this newest installment, what he recommends new users check out first, his personal favorite new feature, and even what's in store for EF Core 7.0.   Topics of Discussion: [:36] About The Azure DevOps Podcast, Clear Measure; the new video podcast Architect Tips; and Jeffrey's offer to speak at virtual user groups. [1:13] About today's episode with Arthur Vickers. [1:23] Jeffrey welcomes Arthur Vickers to the podcast! [1:51] Arthur shares his career background and how he became an Engineering Manager on the Entity Framework team at Microsoft. [4:21] The origin story of how Entity Framework came to be, where it currently fits into the picture, and the primary problem it addresses. [8:38] The difference between Entity Framework Core 6.0 and previous versions of EF. [12:21] Arthur highlights what's new with EF Core 6.0 and what he recommends new users should specifically take a look at! [14:42] Will there be backward compatibility possible with EF Core 6.0? [17:26] Arthur clarifies what temporal tables are and how they work with EF Core 6.0. [20:03] A word from Azure DevOps Podcast's sponsor: Clear Measure. [20:34] Prepping for data warehousing with EF Core 6.0. [22:19] Why isn't indexing being spoken about as much? And what do developers need to know with regards to it? [24:14] The current state of schema migrations and the latest in this space with .NET 6. [27:32] If there's a small handful of tables in the database that are not mapped to EF, does that include EF's migration approach from being used? [28:53] Jeffrey asks Arthur a hypothetical question using Blazor WebAssembly and EF together. [32:00] Arthur speaks about one of the really exciting things about SQL Lite in WebAssembly accessed by EF Core. [33:47] What's next for Arthur and his team? [36:02] How to give your feedback on EF Core 6.0. [36:25] How to get in touch with Arthur online and keep up with everything he's up to. [37:30] Jeffrey thanks Arthur Vickers for joining the podcast.   Mentioned in this Episode: Architect Tips — New video podcast! Azure DevOps Clear Measure (Sponsor) .NET DevOps for Azure: A Developer's Guide to DevOps Architecture the Right Way, by Jeffrey Palermo — Available on Amazon! bit.ly/dotnetdevopsebook — Click here to download the .NET DevOps for Azure ebook! Jeffrey Palermo's YouTube Jeffrey Palermo's Twitter — Follow to stay informed about future events! DEVintersection Conference — Dec. 7th‒9th in Las Vegas, Nevada (Use discount code: PALERMO) Arthur Vickers' LinkedIn What's New in Entity Framework Core 6.0 Announcing .NET 6 – The Fastest .NET Yet .NET Conf 2021 “What's New in EF Core 6.0,” hosted by Jeremy Likness and Arthur Vickers GitHub.com/dotNET/EFCore Arthur Vickers' Twitter @AjcVickers Arthur on GitHub Arthur's Personal Blog Visual Studio 2022 Launch Dapper SQLite Blazor   Want to Learn More? Visit AzureDevOps.Show for show notes and additional episodes.

RadioDotNet
Горячий Hot Reload, ASP миграции, всеупрощающие Endpoints

RadioDotNet

Play Episode Listen Later Nov 8, 2021 102:32


Подкаст RadioDotNet выпуск №39 от 9 ноября 2021 года Внимание, конкурс! За доброе дело мы готовы подарить 3 лицензии на любой продукт JetBrains. Победителей выберет псевдослучайный рандом из следующих списков: Один автор комментариев на YouTube к этому выпуску в канале DotNetRu Один кто поделился этим анонсом в группе VK.com/DotNetRu Один кто поделился этим анонсом в twitter.com/DotNetRu Конкурс продлится ровно 7 дней с момента публикации данного выпуска. Представляем русскоязычный вариант книги Эндрю Лока «ASP.NET Core в действии» в правильном переводе DotNetRu: Промокод на скидку 25%: ASP.NET_HABR Заказать можно на сайте издательства: https://tinyurl.com/lock-book-ru Сайт подкаста: radio.dotnet.ru Темы: [00:00:35] — What's New in EF Core 6.0 docs.microsoft.com/ef/core/what-is-new/ef-core-6.0/whatsnew devblogs.microsoft.com/dotnet/introducing-devops-friendly-ef-... [00:17:36] — .NET Hot Reload Support via CLI devblogs.microsoft.com/dotnet/net-hot-reload-support-via-cli devblogs.microsoft.com/dotnet/update-on-net-hot-reload-progre... theverge.com/22740701/microsoft-dotnet-hot-reload-r... habr.com/ru/news/t/585114 [00:24:00] — Migration to ASP.NET Core in .NET 6 gist.github.com/davidfowl/0e0372c3c1d895c3ce195ba983b1... [00:34:30] — Improving logging performance with source generators andrewlock.net/exploring-dotnet-6-part-8-improving-lo... [00:52:52] — The .NET Foundation Drama rodneylittlesii.com/posts/topic/foundation-echo-chamber twitter.com/Aaronontheweb/status/1445046987750100994 exceptionnotfound.net/the-catch-block-78-the-dotnet-foundati... dusted.codes/can-we-trust-microsoft-with-open-source devblogs.microsoft.com/dotnet/net-hot-reload-support-via-cli [01:05:48] — Bite-Size .NET 6 — DateOnly and TimeOnly exceptionnotfound.net/bite-size-dotnet-6-dateonly-and-timeonly [01:12:26] — The simplicity of ASP.NET Endpoints timdeschryver.dev/blog/the-simplicity-of-net-endpoints [01:22:50] — Announce the release of OpenSilver 1.0 opensilver.net/announcements/opensilver-release

Last Week in .NET
Silverlighted Sorting

Last Week in .NET

Play Episode Listen Later Aug 23, 2021 7:39


No releases this week; but lots of interesting tidbits nonetheless. If you read just one article this week, check out “The Myth of the Treasure Fox”. Link below, of course.Get the Drop on Sorting. Kevlin Henney does a deep dive on the drop-sort, a sorting algorithm that sorts by dropping elements in the collection. This is not as useless as it immediately appears, and Kevlin explains why. It's engaging and informative.In a screenshot that is strangely alluring Maarten shows off what VB looks like in the brave new world of .NET 6, with a pattern based XML Literal. If I were to rate VB on this screenshot alone, I'd give it a 12/10. Having worked in VB, I give it a 4/10. It's slightly ahead of the readability of JavaScript 5, and slightly behind Python. These ratings are final.Chat Wars! How microsoft tried (and failed) to keep MSN compatibility with AIM. If AIM and MSN were still alive, they'd have graduated college by now and be grumbling about the state of the job market. I mean, they unemployed, strictly speaking, with AIM having been retired in 2017, and MSN Messenger having been retired in 2014..NET 5 Support of Azure Functions OpenAPI Extension Yes, now Azure Functions support .NET 5 for OpenAPI Extensions. If you, like me, have no idea what that is, then this blog post isn't for you! (It's becoming increasingly clear that these blog-posts with keyword laden titles are there to help hit some sort of internal Microsoft KPI related to pushing Azure). “George, you're being unfair!”, I can hear you say. If I'm being unfair, then why aren't these blog post titles telling you the outcomes they can help you acheive, instead of keywords of processes related to their own products?No, NVidia Didn't Fool Everyone with a Computer-Generated CEO In case you missed this, NVidia used a Computer Generated capture of its CEO for a short scene in its presentation, but their initial blog post on the subject made it seem like they used the CG'd CEO throughout. It's still impressive, bu tnot nearly as impressive as initially made out to be.Microsoft revamps Visual Studio JavaScript projects in forthcoming version. Visual Studio will now rely on whatever the ‘system' has installed for JavaScript frameworks when creating a new JavaScript-ish project in Visual Studio 2022. I assume it will work seamlessly with things like nodeenv and other virtual environments, and if it doesn't that would be a bit embarassing, wouldn't it?.NET Optional SDK Workloads This came about because I saw the word ‘workload' in reference to .NET, and had no idea what it meant. It means a way to extend the SDK to do other things than it's meant to. I can't figure out if this is a public thing (you too can write extensions for the SDK) or if this is a Microsoft Only addition, or who this is even for.A Decade Later, .NET Developers Still Fear being ‘Silverlighted' by Microsoft. Killing Silverlight was the closest thing .NET Developers had to experiencing the Red Wedding. An entire developer stack killed overnight. I don't claim there's any sort of ‘guest right' when it comes to Technology Stacks, but there's a certain amount of creative destruction taking place that Microsoft was not known for previously. They have several hundred projects to kill to even get close to Google's bloodthirstiness. There are, of course, differing views, as is the norm on Twitter.Async code has signficantly less overhead using .NET 5 compared to .NET Core 3.1. Screenshots of the benchmarks in the link if you like that sort of thing.The myth of the treasure fox in Skyrim. This is why I love twitter. You learn things you'd otherwise never hear about. I won't spoil the story for you, but it's worth your time to read.Introducing DevOps-Friendly EF Core Migration Bundles. DevOps here means “Deploying your code easily” and has nothing to do with Azure DevOps (either Azure DevOps On-Prem, or Azure DevOps on Azure — and no, I'm never letting Microsoft live that atrocious naming down). Anyway, The EF Core team has made it easier to run database migrations in a CI environment.Highlights from Git 2.33. The news here is that git now has a new rewritten and faster merge strategy called merge-ort. To try it out (it's not the default yet), you can use the command git merge -s ort when merging two branches in git. The -s ort is some sort of a cruel joke, I think. Or at least proof that no one talks their way through commands any more. Can you imagine telling someone with your mouth-words how to do it? “Type g i t space dash s space o r t”.Performance Improvements in .NET 6. If you like performance blog posts and you tolerate IL, this blog post is for you. As deep a dive as you'll get on just what performance improvements have been made in .NET 6, and what it looks like under the covers.Visual Studio 2022 Preview 3 offers a new breakpoint context menu to set advanced breakpoints more easily. If you don't use advanced breakpoints, they're quite magical to improving productivity when debugging — like setting a breakpoint after a specific number of times, or setting conditional breakpoints.In the “We can't help being evil” department, It's harder to switch default browsers in Windows 11. Besides the tweet, there's an in-depth article about it on the verge, and what that means for us. Since 90s clothing is come back in style, I suppose 90s monopoly practices should too? You can now have global using static .. This is a great idea. I mean, globals are already a time-honored programmer tradition, and of course seeing methods being called that you have to have an IDE to trace is a wonderful idea.And that's it for what happened last week in .NET. It was a light week; but as we get closer to November (and .NET 6), we should see more releases. 

Backend na froncie
BNF odc. 6 Dlaczego używamy Entity Framework?

Backend na froncie

Play Episode Listen Later Jun 29, 2021 66:07


Last Week in .NET
Windows 11 Will Cost You a New PC

Last Week in .NET

Play Episode Listen Later Jun 28, 2021 6:00


The Windows 11 livestream happened last week, and the big news there is just about every computer older than 2017 will require you to upgrade your hardware to use Windows 11. This is bad news and I am unhappy☠ Barry "I love tormenting people with pictures of beans" Dorrans reminds all of us that .NET Core 2.1 is End of Life at the end of August. I'm impressed support for .NET Core 2.1 lasted this long.

TheMummichogBlog - Malta In Italiano
https://themummichogblog.com/visual-studio-toolbox12-06-2020/

TheMummichogBlog - Malta In Italiano

Play Episode Listen Later Jun 9, 2021 3:48


https://themummichogblog.com/visual-studio-toolbox12-06-2020/ Visual Studio Toolbox Entity Framework Core In-Depth Part 1 9 giugno 2020 alle 09:49 da Robert Green In questo episodio, Robert è affiancato da Phil Japikse per la parte 1 di una serie di 10 parte su Entity Framework Core. Questa serie è un follow-up ai 5 serie di parte che mirava a persone nuove a EF Core e fornisce un'esplorazione più approfondita di un certo numero di argomenti.

The 6 Figure Developer Podcast
Episode 197 – .NET Data with Jeremy Likness

The 6 Figure Developer Podcast

Play Episode Listen Later May 24, 2021 39:43


  Jeremy is a Senior Program Manager for .NET Data at Microsoft. His personal mission is to empower developers to be their best. In this episode Jeremy shares all about .NET Data using EF Core, GraphQL, .NET for Spark, and much more. He also speaks about his recent diagnosis and starting a podcast to help others with Parkinson's Disease.   Links https://twitter.com/jeremylikness https://www.linkedin.com/in/jeremylikness/ https://blog.jeremylikness.com/ https://github.com/JeremyLikness   Resources https://youmeandpd.org/ https://docs.microsoft.com/en-us/learn/ https://docs.microsoft.com/en-us/ef/core/ https://docs.mongodb.com/realm/sdk/dotnet/ https://dotnet.microsoft.com/apps/data/spark https://docs.microsoft.com/en-us/dotnet/spark/what-is-spark   "Tempting Time" by Animals As Leaders used with permissions - All Rights Reserved × Subscribe now! Never miss a post, subscribe to The 6 Figure Developer Podcast! Are you interested in being a guest on The 6 Figure Developer Podcast? Click here to check availability!  

Channel 9
EF Core | Visual Studio Toolbox

Channel 9

Play Episode Listen Later May 6, 2021 31:28


Jeremy Likness shows some of what's new in EF Core. He first shows off many-to-many relationships [07:30] and then reviews some of what's coming in EF Core 6 [26:30]. Jeremy will be speaking on EF Core at the upcoming DEVintersection conferences (June 6-11 in Orlando and Dec 5-10 in Las Vegas). To learn more and sign up, visit https://www.devintersection.com/#!/?track=dev and use discount code DEV21.

las vegas toolbox visual studio jeremy likness ef core devintersection
Visual Studio Toolbox (HD) - Channel 9

Jeremy Likness shows some of what's new in EF Core. He first shows off many-to-many relationships [07:30] and then reviews some of what's coming in EF Core 6 [26:30]. Jeremy will be speaking on EF Core at the upcoming DEVintersection conferences (June 6-11 in Orlando and Dec 5-10 in Las Vegas). To learn more and sign up, visit https://www.devintersection.com/#!/?track=dev and use discount code DEV21.

las vegas jeremy likness ef core devintersection
Last Week in .NET
Microsoft's MVP Program has a new requirement: Shilling

Last Week in .NET

Play Episode Listen Later Apr 26, 2021 6:01


Not many releases last week, but lots of shenanigans. I spelled that word on the first try which matters not a whit to anyone else but I'm proud of myself. The shenanigans themselves are an age old story: Big Corporation finds feeble consumers, and exploits them.

.NET.CZ
.NET.CZ(Episode.75) - Cosmos DB s Josefem Starýchfojtů a Standou Kuříkem

.NET.CZ

Play Episode Listen Later Mar 2, 2021 50:55


Globálně distribuovaná multi-master databáze v cloudu s potenciálem neomezeného škálování, tak se prezentuje Azure Cosmos DB. A abychom ověřili, jak funguje ve skutečnosti, pozvali jsme naše přátele z firmy Mews - Josefa Starýchfojtů a Standu Kuříka. Dozvíte se, jak používají Cosmos DB coby doplněk standardní SQL databáze, co všechno Cosmos umí a k čemu se hodí, jak fungují SDKčka a kolik to celé vlastně stojí. Těšíme se na vaše komentáře, přání i připomínky, které můžete psát na info@dotnetpodcast.cz. A pokud se vám díl líbil, budeme rádi, když nám koupíte kávu na https://www.buymeacoffee.com/dotnetcezet. Nově nás najdete i na Instagramu https://www.instagram.com/dotnetpodcastcz. Odkazy: - Azure Cosmos DB: https://azure.microsoft.com/en-us/services/cosmos-db/ - Consistency in Cosmos DB: https://docs.microsoft.com/en-us/azure/cosmos-db/consistency-levels - Global distribution under the hood: https://docs.microsoft.com/en-us/azure/cosmos-db/global-dist-under-the-hood - Google Cloud Spanner: https://cloud.google.com/spanner/ - EF Core provider pro Cosmos DB: https://docs.microsoft.com/en-us/ef/core/providers/cosmos/?tabs=dotnet-core-cli - SQL Hyperscale: https://docs.microsoft.com/en-us/azure/azure-sql/database/service-tier-hyperscale-frequently-asked-questions-faq Twittery atd.: - https://twitter.com/JStarychfojtu (Pepa) - https://twitter.com/burtolin (Standa) - https://twitter.com/deeedx (Martin) - https://twitter.com/madrvojt (Vojta) Pokud nechcete, aby vám unikla nová epizoda, odebírejte RSS: https://bit.ly/netcz-podcast-rss, sledujte nás na Twitteru: https://twitter.com/dotnetcezet nebo na Apple Podcasts a také na Spotify. Hudba pochází od Little Glass Men: https://freemusicarchive.org/music/Little_Glass_Men/

Last Week in .NET
You can't have issues if you don't have a backlog

Last Week in .NET

Play Episode Listen Later Feb 1, 2021 7:37


Last Week in .NET - January 30th, 2021We're getting our first snow here in the DC area for the first time in what feels like forever; and the .NET team is pondering the true meaning of the words "Backlog management". Let's get to it.

.NET Rocks!
Entity Framework Core 5 with Julie Lerman

.NET Rocks!

Play Episode Listen Later Jan 28, 2021 64:00


What's new in Entity Framework Core 5? Carl and Richard chat with Julie Lerman about the latest in EF Core, stories from the trenches of data development and more! Julie talks about there not being an EF Core 4 (to avoid confusion), but that there will be an EF Core 6 which should align pretty nicely with EF 6, which is now in maintenance. Yes, there's more to do to make the ORM better, and parity is close between the versions!

.NET Rocks!
Entity Framework Core 5 with Julie Lerman

.NET Rocks!

Play Episode Listen Later Jan 26, 2021 64:14


What's new in Entity Framework Core 5? Carl and Richard chat with Julie Lerman about the latest in EF Core, stories from the trenches of data development and more! Julie talks about there not being an EF Core 4 (to avoid confusion), but that there will be an EF Core 6 which should align pretty nicely with EF 6, which is now in maintenance. Yes, there's more to do to make the ORM better, and parity is close between the versions!Support this podcast at — https://redcircle.com/net-rocks/donations

.NET Rocks!
Entity Framework Core 5 with Julie Lerman

.NET Rocks!

Play Episode Listen Later Jan 26, 2021 64:13


What's new in Entity Framework Core 5? Carl and Richard chat with Julie Lerman about the latest in EF Core, stories from the trenches of data development and more! Julie talks about there not being an EF Core 4 (to avoid confusion), but that there will be an EF Core 6 which should align pretty nicely with EF 6, which is now in maintenance. Yes, there's more to do to make the ORM better, and parity is close between the versions!Support this podcast at — https://redcircle.com/net-rocks/donations

Last Week in .NET
Microsoft says the quiet part out loud

Last Week in .NET

Play Episode Listen Later Jan 25, 2021 8:53


Last Week in .NET
I am (g)root

Last Week in .NET

Play Episode Listen Later Jan 18, 2021 12:35


This is Last Week in .NET for the week that ended... well.. last week (January 16th, 2020). It was a rocky week last week; and more of the same expected this week for the Washington DC area, and with an inauguration and Martin Luther King day as our backdrop, let's dive into what happened last week in the world of .NET.Releases

On .NET  - Channel 9
Deep Dive into Many-to-Many: A Tour of EF Core 5.0 pt. 2

On .NET - Channel 9

Play Episode Listen Later Dec 22, 2020 20:29


On the surface many-to-many in EF6 and EF Core look very similar. However, under the covers the design in EF Core 5.0 is much more flexible and powerfulIn this episode, Arthur Vickers returns to chat some more with Jeremy about some of the new features in Entity Framework Core 5. In particular, they’ll be diving deep into the building blocks of many-to-many. You’ll see how they can be configured to allow flexible mapping and access to the underlying join table. [01:46] - Reviewing the debug views for many-to-many[08:00] - Under the covers of the change tracker[10:38] - Configuring shared-type entities[12:30] - Explicit many-to-many configuration Useful LinksWhat's New in EF Core 5.0Persist and retrieve relational data with Entity Framework CoreAnnouncing the Release of EF Core 5.0

Channel 9
Deep Dive into Many-to-Many: A Tour of EF Core 5.0 pt. 2 | On .NET

Channel 9

Play Episode Listen Later Dec 22, 2020 20:29


On the surface many-to-many in EF6 and EF Core look very similar. However, under the covers the design in EF Core 5.0 is much more flexible and powerfulIn this episode, Arthur Vickers returns to chat some more with Jeremy about some of the new features in Entity Framework Core 5. In particular, they’ll be diving deep into the building blocks of many-to-many. You’ll see how they can be configured to allow flexible mapping and access to the underlying join table. [01:46] - Reviewing the debug views for many-to-many[08:00] - Under the covers of the change tracker[10:38] - Configuring shared-type entities[12:30] - Explicit many-to-many configuration Useful LinksWhat's New in EF Core 5.0Persist and retrieve relational data with Entity Framework CoreAnnouncing the Release of EF Core 5.0

On .NET  - Channel 9
Modern Entity Framework: A Tour of EF Core 5.0 pt 1

On .NET - Channel 9

Play Episode Listen Later Dec 20, 2020 23:58


EF Core 5.0 includes support for many-to-many relationships and TPT mapping, two sorely missed features from EF6. Join us for a whirlwind tour where we compare EF Core 5.0 features with those from classic EF6. In this episode, Jeremy chats with his teammate Arthur Vickers about some of the new and very useful features that are available in Entity Framework Core 5.[01:20] - Simple logging (New feature)[03:58] - Sensitive data logging (New feature)[05:09] - Batching saves[07:17] - Enhanced debug views[13:00] - Supporting private constructors [17:13] - Changing the collection type[19:56] - Many-to-many (New feature)[22:07] - Filtered Include (New feature) Useful LinksAnnouncing the release of Entity Framework Core 5What's new in EF Core 5.0Entity Framework Core 101

Last Week in .NET
Tech Parrots Tech; Microsoft parrots Google

Last Week in .NET

Play Episode Listen Later Dec 14, 2020 10:02


Skip to content  Pull requests Issues  Marketplace Explore gortok/ lwidn-newsletterPrivate 1  0  0 CodeIssuesPull requestsActionsProjectsSecurityInsightsSettingslwidn-newsletter/LwidnGenerator/input/20201212.mdgortok Update 20201212.mdThis is Last Week in .NET for the week ending 12 December, 2020.

Lambda3 Podcast
Lambda3 Podcast 224 – .NET 5: o que tem de novo?

Lambda3 Podcast

Play Episode Listen Later Dec 4, 2020 92:02


Neste episódio falamos sobre o que há de novo no .NET 5. Saiba tudo o que há de novo no .NET 5 como performance e benchmark, além da unificação da plataforma, mudanças no interop, contêineres, novidades no desktop e muito mais! Feed do podcast: www.lambda3.com.br/feed/podcast Feed do podcast somente com episódios técnicos: www.lambda3.com.br/feed/podcast-tecnico Feed do podcast somente com episódios não técnicos: www.lambda3.com.br/feed/podcast-nao-tecnico Lambda3 · #224 - .NET 5: o que tem de novo? Pauta: .NET 5 já testado no Bing e no dot.net Adoção do .NET Performance e Benchmark Tiered compilation e On Stack Replacement Native exports Unificação da plataforma: Mono sdk, Project reunion e BCL TFM net5.0 e fim do netstandard Mudança no interop do WinRT (CsWinRT tool e NuGet) .NET 5 suportado no Windows Arm64 Single file Contêineres: imagens menores, suporte a cgroups v2 Ecossistema .NET em 2020 Novidades no desktop: WPF e Windows Forms Xamarin Forms 5 E o Maui? EF Core 5 C# 9 (e source generators) e F# 5 Mais non nullable reference types anotados no .NET 5 Microsoft Json Investimentos em desenvolvimento cloud native Tye com .NET 5 .NET 5 no App Service (e no AKS?) WinUI3 VS 2019 16.8 .NET 6 Links Citados: Announcing .NET 5.0 What's New in EF Core 5.0 Announcing ASP.NET Core in .NET 5 NET Conf 2020 no Channel 9 Participantes: Giovanni Bassi - @giovannibassi Lucas Teles - @LucasTeles42 Mahmoud Ali - @akamud Edição: Compasso Coolab Créditos das músicas usadas neste programa: Music by Kevin MacLeod (incompetech.com) licensed under Creative Commons: By Attribution 3.0 - creativecommons.org/licenses/by/3.0

RadioDotNet
RadioDotNet-018

RadioDotNet

Play Episode Listen Later Nov 29, 2020 95:01


Подкаст RadioDotNet выпуск №18 Всех приглашаем присоединиться к нам online 2–5 декабря на самой большой российской .NET конференции DotNext 2020 Moscow. https://bit.ly/2HiwmWB Промокод на Personal билет: dotnetru2020JRGpc К новогоднему выпуску мы собираем вопросы и темы, которые вам хотелось бы обсудить в рамках праздничного эпизода. Пишите нам на почту или в комментарии. Сайт подкаста: radio.dotnet.ru Темы: [00:00:51] — Review of C# Changes from Version 1.0 to 9.0 medium.com/young-coder/c-sharp-language-changes-f... [00:17:04] — Microsoft .NET Conf 2020 Keynote www.youtube.com/watch www.infoq.com/news/2020/11/microsoft-dotnet-conf-2020 www.youtube.com/playlist www.techempower.com/benchmarks [00:36:40] — Announcing .NET 5 devblogs.microsoft.com/dotnet/announcing-net-5-0 www.tabsoverspaces.com/233842-new-environment-processid-in-net-5 [00:47:41] — Announcing ASP.NET Core in .NET 5 devblogs.microsoft.com/aspnet/announcing-asp-net-core-in-net-5 [00:49:54] — Announcing the Release of EF Core 5 devblogs.microsoft.com/dotnet/announcing-the-release-of-ef-co... [00:54:47] — Announcing F# 5 devblogs.microsoft.com/dotnet/announcing-f-5 [01:08:03] — C# 9.0 on the record devblogs.microsoft.com/dotnet/c-9-0-on-the-record [01:21:08] — gRPC performance improvements in .NET 5 devblogs.microsoft.com/aspnet/grpc-performance-improvements-i... [01:31:56] — Additional HTTP, Sockets, DNS and TLS Telemetry in .NET 5 www.stevejgordon.co.uk/additional-http-sockets-dns-and-tls-te... Фоновая музыка: Максим Аршинов «Pensive yeti.0.1»

Azure Friday (HD) - Channel 9
Using Entity Framework Core with Azure SQL DB and Azure Cosmos DB

Azure Friday (HD) - Channel 9

Play Episode Listen Later Oct 23, 2020


Jeremy Likness shows Scott Hanselman how to use Entity Framework (EF) Core with Azure SQL DB and Azure Cosmos DB. EF Core is a lightweight, extensible, open source, and cross-platform version of the popular Entity Framework data access technology.[0:00:00]– Overview[0:01:43]– Using Entity Framework Core with Azure SQL DB (existing)[0:10:23]– Sidebar: Resolving a demo hiccup[0:15:07]– Using Entity Framework Core with Azure Cosmos DB (new)[0:22:09]– Wrap-upEntity Framework Core overviewGetting Started with EF CoreEntity Framework documentationLearn: Persist and retrieve relational data with Entity Framework CoreCreate a free account (Azure)

Azure Friday (Audio) - Channel 9
Using Entity Framework Core with Azure SQL DB and Azure Cosmos DB

Azure Friday (Audio) - Channel 9

Play Episode Listen Later Oct 23, 2020


Jeremy Likness shows Scott Hanselman how to use Entity Framework (EF) Core with Azure SQL DB and Azure Cosmos DB. EF Core is a lightweight, extensible, open source, and cross-platform version of the popular Entity Framework data access technology.[0:00:00]– Overview[0:01:43]– Using Entity Framework Core with Azure SQL DB (existing)[0:10:23]– Sidebar: Resolving a demo hiccup[0:15:07]– Using Entity Framework Core with Azure Cosmos DB (new)[0:22:09]– Wrap-upEntity Framework Core overviewGetting Started with EF CoreEntity Framework documentationLearn: Persist and retrieve relational data with Entity Framework CoreCreate a free account (Azure)

Azure Friday (HD) - Channel 9
Using Entity Framework Core with Azure SQL DB and Azure Cosmos DB

Azure Friday (HD) - Channel 9

Play Episode Listen Later Oct 23, 2020 23:57


Jeremy Likness shows Scott Hanselman how to use Entity Framework (EF) Core with Azure SQL DB and Azure Cosmos DB. EF Core is a lightweight, extensible, open source, and cross-platform version of the popular Entity Framework data access technology.[0:00:00]– Overview[0:01:43]– Using Entity Framework Core with Azure SQL DB (existing)[0:10:23]– Sidebar: Resolving a demo hiccup[0:15:07]– Using Entity Framework Core with Azure Cosmos DB (new)[0:22:09]– Wrap-upEntity Framework Core overviewGetting Started with EF CoreEntity Framework documentationLearn: Persist and retrieve relational data with Entity Framework CoreCreate a free account (Azure)

Azure Friday (Audio) - Channel 9
Using Entity Framework Core with Azure SQL DB and Azure Cosmos DB

Azure Friday (Audio) - Channel 9

Play Episode Listen Later Oct 23, 2020 23:57


Jeremy Likness shows Scott Hanselman how to use Entity Framework (EF) Core with Azure SQL DB and Azure Cosmos DB. EF Core is a lightweight, extensible, open source, and cross-platform version of the popular Entity Framework data access technology.[0:00:00]– Overview[0:01:43]– Using Entity Framework Core with Azure SQL DB (existing)[0:10:23]– Sidebar: Resolving a demo hiccup[0:15:07]– Using Entity Framework Core with Azure Cosmos DB (new)[0:22:09]– Wrap-upEntity Framework Core overviewGetting Started with EF CoreEntity Framework documentationLearn: Persist and retrieve relational data with Entity Framework CoreCreate a free account (Azure)

Last Week in .NET
CVEs mean always having to patch your systems.

Last Week in .NET

Play Episode Listen Later Sep 14, 2020 3:48


.NET Core 3.1.8 and .NET Core 2.1.22 have been releasedThis release includes a fix for a rather nasty CVE and... Not much else. CVE-2020-1045 allows an attacker to craft a cookie that can bypass ASP.NET Core security. Whaaaaaaatt. Patch your systems now.CVE-2020-1472 has been reproducedBut speaking of CVEs, looks like a security firm reproduced CVE-2020-1472. CVE-2020-1472 allows an attacker to bypass domain authentication with a specially crafted request that allows them to escalate their privileges. This is, of course, only an issue if you're using Microsoft server. You're not, right? You've already moved to linux? No? Oh.Blazor now has a graphql clientIn the "Leave some innovation for the rest of us", Blazor now has a GraphQL Client. Though, if you're using blazor and graphql you've blown your innovation token quota for a few years. Be safe out there.https://oceanware.wordpress.com/2020/09/08/blazor-wasm-graphql-client/.NET Conf Call for Content closes today at 2:59pm EDT (-4 UTC).Which means... You've got a few hours to put your proposal together. Not sure how I missed the CFP, but I'll do better next time.The virtual conference itself takes place November 10th and 11th, 2020. Expected releases include .NET 5.EF Core for .NET 5 is doneThat's what's what they say (these aren't my words, I'm just the messenger).Here's the list of things they finished just in Preview 8: Table-per-type (TPT) mapping Migrations: Rebuild SQLite tables Table-valued functions Flexible query/update mapping Context-wide split-query configuration PhysicalAddress (i.e., IP Address) mapping Add FieldInfo overload for NavigationBuilder Query generation for GroupBy with OwnsOne Support join after GroupByAggregate Generate a warning for multiple collection Includes Convert multiple equality on same column joined by Or/Else into SQL IN expression Make discriminator properties read-only be default Add an IDbContextFactory that pools context instances Cosmos: Allow PK with just the partition key And that's just in Preview8. Great Job, EF Team! I'm happy that EF Core will be ready for .NET 5; but my quiet voice says I can't wait for a less bloated ORM to take over.Jetbrains dotUltimate / Resharper / Rider / et. al 2020.2 has been releasedThis fixes a really annoying bug I was facing in .NET 5 Preview 8 where my tests were listed as inconclusive and wouldn't run when I tried to debug them. There's also a lot more here, but squeaky wheel and all that.NoVA (virtual) code camp is September 26thIf you have nothing to do that day (it's a saturday) and you want to learn some neat stuff, sign up novacodecamp.org.Want to contribute to .NET but don't know where to start?The .NET team has got you covered by listing what issues are up for grabs and their relative difficulty. Thanks to Tanner Gooding for the tweet.Scott Hanselman compiled a .NET Team twitter listSpeaking of twitter, Scott Hanselman put together a list of all the members of the .NET team on twitter. If the intersection of twitter and .NET is your jam, two things: we should be friends, and  follow that list. And that's it for what happened last week in .NET. Overall a pretty light week. I'm George Stocker, and when I'm not following .NET, I'm helping teams double their productivity through adopting TDD practices that don't suck. I'll see you next week. 

Last Week in .NET
August 15, 2020 - Patch, Patch, Patch!

Last Week in .NET

Play Episode Listen Later Aug 17, 2020 6:30


My favorite sentence from a "That's interesting" perspective is: "Buffalo buffalo Buffalo buffalo buffalo buffalo Buffalo buffalo" . With the flurry of patches for one CVE, I can only imagine someone at Microsoft is saying "Patch patch Patch patch patch patch Patch patch", to the same effect..NET Core 3.1.7 has been releasedRelease NotesThe big news here is another major CVE has been patched, this time against ASP.NET Core. CVE-2020-1597 which is a Denial of Service vulnerability that targets how ASP.NET handles unauthenticated web requests.In typical CVE fashion there isn't a released proof of concept; so while it's unknown if there are any exploits in the wild, you should upgrade and patch your ASP.NET Core installations immediately.Also released in .NET Core 3.1.7 is a change to how .NET Core applications are built; ASP.NET Core applications no longer generate a dylib on Mac, rather they generate a DLL; this is due to the new notarization requirements starting in Mac OS Catalina.If you're running an Ubuntu image based on version 19.10; be advised that it has now fallen out of support for .NET Core. It's a brave new world folks where Microsoft takes a hatchet to OSes older than a year. Keep in mind Windows 7 just fell out of support, so you know what side their bread is buttered on.Also included is a new .NET Core SDK update: 3.1.107.NET Core 2.1.21 has been releasedThis is also a release that fixes the CVE for .NET Core 2.1; which is Microsoft's LTS supported version of .NET Core 2Visual Studio 16.7.1 has been released;Besides some IDE bugs fixed; the big news here is this also is listed as a product to update under CVE-2020-1597.Visual Studio 2017 15.9.26 has been released:Same for the CVE-2020-1597.https://docs.microsoft.com/en-us/visualstudio/releasenotes/vs2017-relnotesAlso if anyone is wondering whether your release cycle is complicated, the Visual Studio team is supporting no less than three different versions of VS 2019 version 16.x in production. 16.0.17, 16.4.12, and 16.7.1.Please reach out to someone at the Visual Studio team and ask them if they're feeling ok.An overview of Statiq with Dave GlickCecil Phillip sat down with David Glick to talk about Statiq; a static site generation framework for .NET Core. I'm just getting into statiq (I want to use it to host the web version of these newsletters and make the generation process less... manual) and this is a great video to watch if you want to learn about Statiq.https://www.youtube.com/watch?v=43oQTRZqK9gJetbrains announces release 2020.02 for Jetbrains resharperThe 2020.2 versions of JetBrains .NET tools and extensions are herehttps://www.jetbrains.com/resharper/whatsnewhttps://www.jetbrains.com/rider/whatsnewand licensing changes:https://blog.jetbrains.com/dotnet/2020/07/15/licensing-update-net-tools/?mkt_tok=eyJpIjoiT0RkbFltUmpaREF5TW1KaiIsInQiOiJGRTJMdEFFaDYybUNRWkVaeVpRY3lBTTQzczI3ODVCd1luNlpWSkxTR0xVeUZXaTNpMWpaTlpENEpEQkw2WEJuTjd1MDlRMjZ0YmRyWG5cLys0cFVUTmZVTkdXNGE0TnR1RWhpN1wvMzRHVlFiMEMzRG03RENDa0dYQWhKRCt2N2VGIn0%3DThere's another shoe to drop here somewhere, and I don't know what it is. I'm looking for it though, and when I find it I'll let you know. Between "Let's make things easy for our customers" and "licensing changes that increase revenue", I hope this action is at the center of that venn diagram.NoVA Code CampNoVA does not stand for that fictional paramilitary unit in Short Circuit, although more's the pity. It stands for "Northern Virginia" which by all rights and politics should be its own state. Anyway, normally they have an in-person code camp; and that's not conducive due to the Virus That Shall Not Be Named, so here we have a virtual code camp. If you've got a talk you're working on, or you just want to hear some great talks; you should sign up for this event. It's free. I'm pitching a talk on Event Driven Systems, and I hope it's accepted (if the NoVA CodeCamp staff happen to read this; lemme know where to send the bribe).https://sessionize.com/northern-va-codecamp-fall-2020/Microsoft ranks #3 on OSS contributions:https://twitter.com/gortok/status/1293566607986491394?s=20I will give Microsoft credit here: 10 years ago they were nobody in the world of Open Source software. Literally not even on the radar.That said, I've got some problems with this ranking. Yuu know the guy on youtube that sits in the forest and builds a house from first principles? It's pretty neat. Anyway, Microsoft is that guy, github is youtube, and we're the people who can watch but can't really force him to build a castle from first principles. Although there's a youtube channel for that too. Anyway, we're spectators. Microsoft pays the salaries of the .NET Maintainers (all of whom are Microsoft employees), and the .NET foundation's Executive director (And treasurer), are Microsoft employees. This isn't altruistic code contribution to OSS, this is "Watch us build our product on github and give us a cookie for doing that". You don't get a cookie for that. At least not a chocolate chip one. You can have an Oatmeal raisin cookie for that.Microsoft is the benevolent dictator for .NET, at a time when benevolent dictatorship for Open Source is on its way out. Microsoft releases site that touts its OSSI guess they're just displaying their own set of cookies at this point?Guidance for developing with Entity Framework in ASP.NET Core Blazor has been released:If this sort of thing doesn't jazz you, I don't know what to say to you. I mean, using Blazor *is* still experimental, and EF Core is getting there; but if you enjoy being on the bleeding edge, at least now you have some great documentation to help you.https://docs.microsoft.com/en-us/aspnet/core/blazor/blazor-server-ef-core?view=aspnetcore-3.1Transcript (To come, powered by Otter.ai)George Stocker  0:00  Hi, I'm George Stocker, and this is last weekend dotnet for the week ending 15 August 2020 dotnet core 3.1 point seven has been released. The big news here is another CVE has been patched this time against ASP. NET Core CVE is CVE dash 2020 dash 1597, which is a denial of service vulnerability that targets how ASP net handles unauthenticated web requests. In typical CVE fashion, there isn't a released proof of concept. So while it's unknown if there are any exploits in the wild, you should upgrade and patch your ASP. NET Core installations immediately. also released in dotnet. Core 3.1 point seven is a change to how dotnet core applications are built on Mac OS. ASP. NET Core applications no longer generate a DI lib on Mac. Rather they generate a DLL This is due to the new notarisation requirements. Get Started in Mac OS Catalina if you're running an Ubuntu image based on version 1910 Be advised this now had fallen out of support for dotnet core. It's a brave new world folks where Microsoft takes a hatchet OSS older than a year. Keep in mind windows seven just fell out of support so you know what side their bread is buttered on. Also included in this update is a new dotnet core SDK update to 3.1 point 107 dotnet core 2.1 point two one has been released. This is this this also fixes the issue with CVE dash 2020 dash 1597 for dotnet core 2.1 which is Microsoft's LTS supported version of dotnet core two, also for the CVE Visual Studio 16 point 7.1 and 15 point 9.26 and 16.4 point 12 have been released. And all of these Deal with CVE dash 2020 dash 1597. I feel like I'm saying that too much. Now the big notice for me here was that the Visual Studio Team supports three versions of Visual Studio in production. Right now. They're supporting 16 dot o dot 1716 dot four dot 12 and 16 dot seven dot one. please reach out to someone at the Visual Studio Team and make sure they're okay. Dave Glick gave us an overview on YouTube of his static website framework called static with a que si so Philip sat down with him on YouTube. And they go over what static is, what it does, and how to use it. It's a good watch and I'm thinking of using it for this newsletter, the website version of this newsletter, and you should give it a look to JetBrains announces release 2020 dot zero to four JetBrains resharper and writer. They also the big thing here for them is they announced licensing changes. They say they've simplified the model for licensing There is another sheet of drop here somewhere. And I don't know what it is. I'm looking for it though. And when I find it, I'll let you know, between, let's make things easy for our customers and licensing changes that increase revenue. I really hope this action is at the center of that Venn diagram. Now for resharper, there's a number of changes they've made. The one that I find the most intriguing is they've changed their unit test runner, so that the same process works on Visual Studio for dotnet core and dotnet framework. Nova Code Camp is going to be on 26, September 2020. This is going to be a virtual event. Now Nova does not stand for that fictional paramilitary unit in short circuit, although more as a pity. It stands for Northern Virginia, which by all rights in politics should be its own state. Anyway, normally, it's an in person Code Camp, and that's not conducive due to the virus that shall not be named. So we're having a virtual Code Camp. If you got to talk you're working on or you just want to hear Some great talks, you should sign up for this event. It's free. I'm pitching a talk on event driven systems. And I hope it's accepted. By the way, if you work for the Nova Code Camp, and you happen to hear this, let me know where to send the bribe. Microsoft ranks number three on open source software contributions. Now, I will give Microsoft credit here 10 years ago, they were nobody in the world of open source software. They weren't even on the radar. Literally. That's it. I do have some problems with this ranking. There's a guy on YouTube that sits in the forest and builds a house from first principles. It's pretty neat to watch. Anyway, Microsoft is that guy in GitHub is YouTube. And we're the people who can watch but can't really force him to build a castle from first principles, although there's probably a YouTube virgin channel for that, too. Anyway, what I'm saying here is we're spectators. Microsoft pays the salaries of the dotnet maintainers, all of whom are Microsoft employees. And the dotnet Foundation's executive director and treasure are Microsoft employees. This isn't some altruistic code contribution to the open source software community. This is watch us build our product on GitHub and give us a cookie for doing that. By the way, they own GitHub. Now you don't get a cookie for that, at least not a chocolate chip one. You can have an oatmeal raisin cookie for that though. Microsoft is the benevolent dictator for dotnet. at a time, when benevolent dictatorship for open source software is on its way out. They also released a site touting their own OSS software, you can go to this site and see what Microsoft releases under an open source live license. I guess at this point, they're just displaying their own cookies. Guidance for developing with Entity Framework in ASP. NET Core has been released. Now if this sort of thing doesn't jazz you I don't know what to say. I mean, documentation for bleeding edge systems like blazer and like Entity Framework core is hard to come by. and Microsoft is doing a really good job here of producing documentation that's useful to those of us that want to use blazer and any framework core. Now given that blazer really is still active. Fair mental and Entity Framework core is getting there. I don't think there are people that are going to use it in production. But either way, it's really nice that Microsoft is paying attention to the documentation. And that's it for what happened last week in dotnet. I'm George Stocker, and I help teams double their productivity through test driven development. If your team wants to go home at 5pm not worried about late breaking bugs at night that wake you up and upset your customers. Reach out at www.doubleyourproductivitity.io.Transcribed by https://otter.ai

Last Week in .NET
July 25, 2020 - There's bugs in them releases

Last Week in .NET

Play Episode Listen Later Jul 27, 2020 6:48


Last Week in .NET - Week Ending 25 July 2020More on CVE-2020-1147Do you deserialize XML to a DataSet? This is about CVE-2020-1147. More details on CVE-2020-1147 -- that Remote Code Execution Vulnerability for .NET Core. Turns out it has to do with deserializing XML into a DataSet. If this is something you do; stop reading and go patch your application to .NET Core to 3.1.6, .NET Core 2.1.20; and .NET 5 Preview 7. Make sure to update the SDK running on your developer machines as well. There's a bit more information than I was able to get last week. Special Thanks (again) to @vcsjones on twitter. Microsoft talks about Windows 10XApparently in Windows 10X, Win32 applications will be virtualized and served "over the cloud". OK. This is both interesting, frightens the hell out of me, and makes me wonder at what point we lose control of our Operating Systems completely. .NET 5 Preview 7 has been releasedThis includes changes to the runtime, SDK, ASP.NET Core, and Entity Framework Core. For the Runtime, there's a lingering bug with Regex that you can fix by removing RegexCompiled, you know, what keeps regex's fast. Anyway, if you're running .NET 5 Preview 7 in production, that's something to be aware of. For ASP.NET Core, there are cookie and blazor bugs fixed, and there's also a blog post out about Preview 7 that talks about the blazor improvements especially. Blazor is getting a lot of attention from Microsoft, and this is great, especially since there are thousands of applications that are in Web Forms that have no upgrade path at all to .NET 5. How does Blazor help here, you ask? Well, it at least gives political cover to the idea that it's possible, but if you read the documentation around converting an ASP.NET Webforms application to blazor, you'll notice it's currently... incomplete. Incomplete here means that there is currently no migration path for built in Webforms controls. Without Microsoft providing some sort of conversion system for WebForms, organizations will be forced to rewrite their WebForms applications anyway; and Microsoft is hoping they'll choose Blazor. I may have blown the spoiler; but Blazor is now a part of .NET 5. There's more work to do, but this is a great start. There's a lot of fixes in Entity Framework Core 5.0.0 Preview 7., too numerous to list here. If you use EF Core, you may want to pay attention. .NET Framework (Not Core, or 5) July 2020 Cumulative Update Preview is releasedThis preview fixes several bugs uncovered in .NET Framework 4.8 including a memory leak in HttpListener, and a bug in SqlBulkCopy that would cause writes to fail, there are fixes in WCF, WPF, and Windows Forms, and Accessibility Improvements in Windows Forms. A 'replacement' for SecureString is being bandied about for .NET 6:SecureString, the oft-maligned and probably most misused class in .NET, is getting its hair re-done as "ShroudedBuffer" as a part of .NET 6. The name change and API change is to help reiterate that this string isn't a "SecurityFeature", rather it's a signal that if you're trying to log stuff; YOU SHOULDN'T LOG THIS. I'm not sold on the name; but naming is hard. My personal list contains candidates such as OpaqueString, or "Dont^%&DFingLogThisString" or "SensitiveBuffer", or ClassifiedBuffer, or ConfidentialString". EFCore now supports Many-To-Many relationshipsI didn't know it didn't; and I feel bad for everyone that now has to either 1) maintain the workarounds they used to get that support before, or 2) retrofit this approach into their code. You can read more about Many-to-Many support here. No word on when this lands in a release, but it'll either be in .NET 5 Preview 8 or .NET 5 RC 1. Bug in .NET Core 3.1 causes SkipLast and TakeLast to return the wrong value:What happens when you add highly performant code that has bugs? You get fast bugs. If you use SkipLast and TakeLast in .NET Core 3.1, there's a good chance you'll encounter this bug if your source collection you're operating on is a List; which of course is just about everyone. .NET Foundation Elections Board happening NowThe .NET Foundation Board elections are happening right now. If you're a member of the .NET Foundation, GO VOTE. If you're not a member, you should be. Go join up, then go vote. If you want to hear from the candidates themselves, the .NET Foundation held interviews with board candidates; they're worth your time. Stack Overflow elections are over, two new moderators electedStack Overflow just wrapped up their moderator elections, and despite a dismal number of moderator candidates, there were two new moderators elected. Please welcome Makyen and MachavityPFCLotW (Pretty Fricking Cool Library of the Week)Do you write distributed applications? First off, I'm sorry. Second, have you thought about using Akka.NET? Distributed applications are hard, and without a framework to help you along, you're going to be spending a lot of time working around the fact that your application is, in fact, distributed. This is not a sponsored ad, and I hope to never make another distributed application; but if I did, I'd give Akka.NET a serious look. And that's what happened Last Week in .NET. I'm George Stocker, and I teach TDD to .NET teams. This isn't your grandfather's TDD, no. It's actually meant to be used in large applications without use of Mocks or stubs, and without the inherent pain that goes along with mock and stubs. But you don't care about that. You just want to go home at 5pm and sleep soundly knowing your application won't have any strange middle of the night bugs. If your team wants to go home at 5pm and not need pizza parties for releases, visit www.doubleyourproductivity.io and reach out. 

Channel 9
The Intersection of Microservices, Domain-Driven Design and Entity Framework Core | Focus on Microservices

Channel 9

Play Episode Listen Later Jul 23, 2020 33:12


Domain-Driven Design (DDD) provides much of the strategic design guidance that we can use to determine the boundaries around and interactions between Microservices in our solutions. DDD also follows up with tactical design patterns for your business logic. In this session we'll take a look at some of these patterns and how EF Core naturally, or with some additional configuration, persists the data that your microservices depend on.

Last Week in .NET
July 11, 2020 - Microsoft's Marketing Team Strikes Again!

Last Week in .NET

Play Episode Listen Later Jul 13, 2020 9:52


Show notes:Transcript:Last Week In .NET (for the week ending July 11th, 2020)Microsoft released details about Maui -- their codename for .NET 6.- .NET 6 is when Mono and .NET 5 aka .NET "Core" come together into a unified toolchain and platform, and they're calling it Maui. That's a bit on the nose, don't you think? Maui is the character from Moana that started, failed, stopped, started, failed, stopped, and started again and finally succeeded.Something that I'll end up writing a thousand times because naming is hard: .NET Core is now .NET 5; and .NET Framework and .NET 5 are different incompatible things. Somebody took the Java/JavaScript comparison a bit too far. In case you haven't heard that one, Java is to JavaScript like car is to carpet..NET finally succeeding in bringing together Mono and .NET will be a win for everyone. If you want cross-platform Mobile Applications using .NET, you're currently stuck with Xamarin Forms and Mono. And since .NET game developers rely on Unity, and unity relies on Mono, I'll be happy to see them finally be able to move to .NET 5; since .NET Core (now .NET 5) is a lot faster than the old Framework and Mono.The big news here is Xamarin Forms will now be a first class citizen in .NET; and cross platform Forms will now be possible. This is huge, if I'm reading it right. XAML is back too. Shout out to everyone who learned XAML only to be crushed by the demise of Silverlight. Let's all pour one out for Silverlight.Bill Wagner, a senior content developer for .NET at Microsoft -- wait, did they get rid of Developer Advocates? Isn't a Senior Content Developer just a Developer advocate? Is nothing safe from Microsoft's Marketing team? Anyway, Bill sat down and spoke on the podcast about... .NET 6 - Codename "Maui".Speaking of .NET 5, .NET Core 5 Preview 6 has been released. I'm also incrementing the "please move to calendar versioning" counter. This release fixes a number of issues, especially in EFCore and the .NET 5 SDK.F# updatesFor the five people that use F#, Apparently F# 5 Preview 6 is out. I'd like to thank the marketing team at Microsoft for having at least one language on the same version number as the platform now. The two holdouts are, C# which is at Version 9, and VB.NET, which is sitting at Version 16 . (which also apparently supports .NET Core? I'll have to dive in and see what this is like).This makes me happy because F# has always felt... well.. ignored by Microsoft. Seeing them get updates for NET 5 is great. Thank you Microsoft!EFCore UpdatesEntity Framework Core version 5.0 Preview 6 is out; and once again it feels like a few microsoft teams are all "Let's pin to the platform version", and others are like "screw that". #teamplatformversion .Anyway, from the blog post: This release includes split queries for related collections, a new “index” attribute, improved exceptions related to query translations, IP address mapping, exposing transaction id for correlation, and more.the interesting part to me is the 'index' attribute. This support has been in Entity Framework 6.2, and is now also in EFCore as of version 5.0. In Typical MSDN fashion the API's usage is an exercise for the reader.In the "This is scary but could be useful" department, EF Core 5 Preview 6 also released "Split Queries" support which previously existed in Entity Framework 6. Split Queries will emit separate DataReaders to retrieve data using the .Include method. On the one hand it makes query optimization easier; on the other hand it introduces a lot of magic: When you see "SplitQueryable", you now need to understand that you're hitting the database with separate queries. If you use Split Queries, let me know how you feel about them, but the DBA in me is nervous about consistency..NET Foundation Board Member ElectionsThe .NET Foundation nominations have concluded; and elections for Board Members are going to be held on July 21st. There are 6 board seats open.AND THE NOMINEES ARE (I've always wanted to say that): Ben Adams Bill Wagner Dennie Declercq Dhananjay Kumar Huei Feng Jamie Howarth Javier Lozano Jay Harris Jeff Strauss Jeffrey Chilberto Jerome Hardaway Joseph Guadagno Layla Porter Mitchel Sellers Rainer Stropek Rodney Littles, II Rodrigo Diaz Concha Shawn Wildermuth You can read about the nominees here: https://dotnetfoundation.org/about/election/candidates and best of luck to everyone who doesn't know what they're getting into.Stack Overflow Moderator ElectionsSpeaking of elections, Stack Overflow is holding elections for the first time after 37 moderators left the Stack Exchange Network with 4 Moderators leaving Stack Overflow during the great Moderator exodus of 2019. That is a sordid story best told on its own. Over wine. Lots of wine. If you want me to go deeper into that story in a future podcast, post a five star review on apple podcasts, or if you're reading this newsletter in its email form, reply with the question "how many times can a company shoot itself in the foot"?Anyway,Nominations close on 00:00 UTC on Monday, July 13th which translates to 8pm Eastern Daylight Time on July 12th. (I think. Date math is hard. Also I apologize to my past projects and teams for advocating for the display of UTC time to every user in the application. Save your user's sanity by storing dates in UTC, and displaying them in local time).WinGet / AppGet Debacle continuesDo you remember the time when Microsoft loved Keivan's work on AppGet, invited him out to Microsoft for an interview, ghosted him, copied several architectural features of his project and then the night before Build called him to tell him that they were releasing a competitor to his .NET open source project they were calling "WinGet"?No? Oh.Anyway, Keivan sat down to talk on FossBytes about AppGet and more. That's spelled bytes, not bites. Again, naming is hard. https://fossbytes.com/appget-developer-keivan-beigi-interview/I can appreciate the financial savvy exhibited here. Companies pay tens of thousands of dollars to someone who helped shave off months of development time. Microsoft got all that work for a steal. Typically this work pays well and is called consulting. But if you run an Open Source project, it's called "Thanks for the free work and $*#@ you".Hang on, my fact checker is telling me Microsoft, apparently in exchange for the months of design direction Keivan helped them knock off and the hundreds of developer hours saved through his work, was credited in a Readme file on the WinGet project on June 3rd, 2020.Way to go Microsoft.Keivan, Show that readme file to your landlord for 0% off of next month's rent!Pretty Fricking Cool Library Of the Week (PFCLotW)Have you heard of Polly? No, not Jennifer Aniston's character in that early 2000s hit romantic comedy. I'm talking about the open source library. Polly is meant to be used whenever you would make a network call to another service (internal or external). If you cross a network boundary, you want to wrap that call in something like Polly. You could, of course, re-invent the Circuit breaker pattern, but then you'd have to maintain it. Save electricity. Save the Earth. Use Polly instead. (This is not a sponsored ad. I just really like Polly).And that's what happened Last Week in .NET (technically the last 2 weeks, but July 4th was a holiday and nobody kept up with what happened the week before July 4th either). I'm George Stocker, and I help .NET Teams double their productivity. I won't tell you how though because you'll think I'm a member of the TDD Cult. I am not. But TDD can help your team save time, money, and result in a workday where you actually get to leave at 5pm. Visit www.doubleyourproductivity.io to learn more.If you liked this Newsletter, please forward it to your friends and ask them to subscribe at www.lastweekin.net. If you hated it, please forward it to your enemies.

Channel 9
Entity Framework Core In-Depth Part 1 | Visual Studio Toolbox

Channel 9

Play Episode Listen Later Jun 9, 2020 21:06


In this episode, Robert is joined by Phil Japikse for part 1 of a 10 part series on Entity Framework Core. This series is a follow-up to the 5 part series that was aimed at folks new to EF Core and provides a more in-depth exploration of a number of topics.In this episode, Phil shows off all of the great performance improvements in EF Core.Find the sample code here.Episode list:Part 1: Performance. (this episode)Part 2: View Models. Phil covers using straight SQL, stored procedures, and populating view models with projections.Part 3: Configuration. EF Core provides a wide range of configuration options for the derived DbContext and it's full support of dependency injection.Part 4: Build Your Model. This show is all about creating your EF Core entities to shape the database and using migrations to publish the model.Part 5: Global Query Filters. These are new in EF Core, and provide a great mechanism for handling scenarios like multi-tenancy and soft deletes.Part 6: Concurrency Conflicts. These have long been a problem for multi-user systems. Phil walks us through how concurrency checking works with EF Core and SQL Server, and all of the data provided back to the developer when a concurrency issue occurs.Part 7: Connection Resiliency. EF Core can gracefully handles transient database errors (if you enable the feature). Phil and Robert talk about what transient errors are, how to enable the feature, and how it effects using explicit permissions.Part 8: Computed Columns. Blending EF Core with server side functionality is a breeze with EF Core. Phil covers using computed columns in EF Core as well as mapping SQL Server function to C# functions for use in LINQ queries.Part 9: Change Tracking Events. The fairly recent addition of Tracking and State Change events provides a mechanism for audit logging (among other uses). Phil shows how this works as well as takes a quick spin through the EF Core Interceptors.Part 10: Field Mapping. This enables EF Core to create your entities without calling the property setters, solving the long running problem of using an ORM with frameworks that use INotifyPropertyChanged, such as Windows Presentation Foundation (WPF).

Microsoft 365 Developer Podcast
Blazor and Web Assembly with Jeremy Likness

Microsoft 365 Developer Podcast

Play Episode Listen Later Jun 1, 2020 53:11


Paul talks with Jeremy Likness about the new .Net-based Blazor technology combined with Web Assembly (WASM) to run code in the browser instead of the server. Links from the show: EF Core and Cosmos DB with Blazor WebAssembly Azure AD Secured Serverless Cosmos DB from Blazor WebAssembly Microsoft News Build ASP.NET Core MVC apps with Microsoft Graph Community Links Announcing the Application Insights Annotation Github Action Setup WSL2 for SPFx development

webassembly blazor cosmos db spfx jeremy likness ef core
IT taburetė
S2E7 - 2020 Balandžio mėnesio apžvalga

IT taburetė

Play Episode Listen Later May 11, 2020 34:18


Security update: - Aptoide programelių parduotuvės vartotojų duomenys pavogti https://www.forbes.com/sites/daveywinder/2020/04/19/hacker-claims-android-app-store-breach-publishes-20-million-user-credentials/ - Užkrėsta 700 Ruby programavimo kalbos package'us (RubyGems) https://decrypt.co/26025/rubygems-bitcoin-stealing-software-reversinglabs - Cognizant technologijų milžinas buvo užpultas Ransomware pavadinimu Maze. https://www.thenational.ae/business/maze-ransomware-hits-global-it-services-giant-cognizant-1.1007714 - Google nebeleidžia naudotis Zoom'u https://www.forbes.com/sites/quickerbettertech/2020/04/19/google-bans-zoom-amazon-now-allows-non-essential-productsand-other-small-business-tech-news/#771c7aa72a50 Microsoft updates - .NET 5 preview 3 and EF Core 5 preview. .NET 5 contains some json serializer updates https://devblogs.microsoft.com/dotnet/announcing-net-5-0-preview-3/ - C# code generators https://devblogs.microsoft.com/dotnet/introducing-c-source-generators/ - Visual studio online - codespaces https://devblogs.microsoft.com/visualstudio/introducing-visual-studio-codespaces/ - Exception trace will be full from Visual Studio 2019 16.5 release https://devblogs.microsoft.com/visualstudio/exception-helper-rethrown-exceptions/ - Java on vs code improvements https://devblogs.microsoft.com/java/java-on-visual-studio-code-update-april-2020/ - Windows terminal last pre-release version https://devblogs.microsoft.com/commandline/windows-terminal-preview-v0-11-release/ Other updates: - išleista Long time support Ubuntu 20.04 versija https://arstechnica.com/information-technology/2020/05/ubuntu-20-04-welcome-to-the-future-linux-lts-disciples/?amp=1 - Github integruoja Visual Studio Code į savo puslapį https://github.com/features/codespaces - Youtube paleido trumpų video kūrimo įrankį (pristatyti verslus ar naujus produktus) iki 15 sekundžių ilgio https://www.cnet.com/news/youtube-launches-video-building-tool/ https://www.blog.google/products/ads/youtube-video-builder/ - Youtube pratrynė mediciniškai netikslius video susijusius su COVID19 - Microsoft'as pratęsė kai kurių WIndows 10 versijų palaikymą iki Spalio mėnesio dėl Covid 19 https://www.theverge.com/2020/4/14/21220938/microsoft-windows-10-end-of-support-delay-coronavirus - Cisco paskelbė naujų IT rolių sąrašą, kuriuos tikisi pamatyti ateityje https://www.networkworld.com/article/3541363/cisco-spotlights-new-it-roles-youve-never-heard-of.amp.html - C patapo pirmaja kalba TIOBE index'e, kuris sudaromas pagal kursu skaiciu, programuotoju skaiciu, paiesku Google, Bing, Yahoo, bet tai nėra "geriausios" kalbos indeksas https://jaxenter.com/c-programming-may-2020-171598.html https://www.tiobe.com/tiobe-index/ - Apple ir Google paleido savo kontaktų API, kurie leis nustatyti, ar žmogus turėjo kontaktą su sergančiu COVID19 virusu https://techcrunch.com/2020/05/04/apple-and-google-release-sample-code-and-detailed-policies-for-covid-19-exposure-notification-apps/ - Cookie consents https://techcrunch.com/2020/05/06/no-cookie-consent-walls-and-no-scrolling-isnt-consent-says-eu-data-protection-body/ - Mouse wiggle app during quarantine https://www.reddit.com/r/programming/comments/ga7ae4/duringlockdownmywifehasbeensuffering/ - Springer releases 50 Programming books for free https://www.reddit.com/r/coding/comments/g7jtd7/springerreleases50programmingbooksforfree/ Atleidimai per Koronaviruso laikotarpį http://layoffs.fyi/tracker https://www.cnbc.com/2020/04/29/lyft-lays-off-17percent-of-workforce-furloughs-hundreds-more.html https://www.theinformation.com/articles/uber-discusses-plan-to-lay-off-about-20-of-employees?&pu=hackernews0hocd3&utmsource=hackernews&utmmedium=unlock https://www.cnbc.com/2020/05/05/airbnb-to-lay-off-nearly-1900-people-25percent-of-company.html - Most upvoted question from stack overflow https://stackoverflow.com/questions/61396588/androidruntime-fatal-exception-androidmapsapi-zoomtablemanager

Azure DevOps Podcast
Michael Washington on the State of Blazor - Episode 88

Azure DevOps Podcast

Play Episode Listen Later May 11, 2020 52:41


In this episode, Jeffrey Palermo is speaking with Michael Washington, an ASP.NET and C# programmer! Michael has extensive knowledge in process improvement, billing systems, and student information systems. He also is the founder of two websites, AiHelpWebsite.com and BlazorHelpWebsite.com — both fantastic resources that help empower developers. Michael resides in Los Angeles, California, with his son Zachary and wife, Valerie.   Together, Jeffrey and Michael speak about Blazor in-depth. They discuss the current state of Blazor; Oqtane, a modular application framework for Blazor; server-side Blazor apps; Radzen, a low-code, RAD solution; his books on the topic of Blazor; and his advice, tips, recommendations, and resources for Blazor as well.   Topics of Discussion: [:38] Be sure to visit AzureDevOps.Show for past episodes and show notes. [:46] About Jeffrey’s current promotions and offers. [1:26] About today’s episode with Michael Washington! [1:52] Jeffrey welcomes Michael to the show. [2:00] Michael introduces himself and speaks about his websites. [2:51] With so many technologies coming out, what is it about Blazor that attracted Michael? [4:30] Does Michael see a thread that connects the Blazor community with certain other technologies? [8:15] Michael explains what Oqtane is. [10:25] Michael shares his thoughts on why Blazor caught the attention of the community whereas something like ASP.NET MVC did not. [14:31] Is Oqtane in production? And will Oqtane work with the release Blazor? [16:36] Are there currently any server-side Oqtane apps in production? [18:30] Michael shares how easy it is to update Oqtane. [21:15] A word from Azure DevOps Podcast’s sponsor: Clear Measure. [21:40] Jeffrey shares some quick announcements. [23:30] Michael talks about the DevOps Pipeline experience and gives his thoughts on how someone who doesn’t want to use the in-app installer experience on production (but they have a test automation environment and a UAT manual test environment before they get to production), gets the installer experience to work when they’re promoting it using Azure Pipelines? [26:00] Michael speaks about what Oqtane is constantly evolving to address.  [27:47] Beyond the quickstarts in Blazor, what has Michael had to think specifically about? Are there any “gotchas?” And what are some of the challenges as someone who has put multiple Blazor apps in production? [30:30] Michael speaks about his books on the topic of Blazor. [32:47] Michael shares some information about Lightswitch and the difference between it and Blazor. [33:38] Michael gives his opinion on how Lightswitch was positioned and why it ultimately didn’t work out. [35:46] Radzen: a Lightswitch-like alternative for Blazor. [38:10] Michael highlights the importance of productivity. [42:15] Why Michael focuses so much on Oqtane. [44:32] Michael speaks about the scalability and performance of Blazor server-side apps. [48:40] Are there any UI controls that Michael has found for Blazor that are really awesome and complete at this stage? [50:50] Michael recommends some go-to resources for those who want to get started with Blazor. [51:57] Jeffrey thanks Michael for joining the podcast!   Mentioned in this Episode: Azure DevOps Clear Measure (Sponsor) .NET DevOps for Azure: A Developer's Guide to DevOps Architecture the Right Way, by Jeffrey Palermo — Available on Amazon! bit.ly/dotnetdevopsebook — Click here to download the .NET DevOps for Azure ebook! bit.ly/dotnetdevopsbookforcommunity — Visit to get your hands on two free books to give away at conferences or events! Jeffrey Palermo’s Youtube Jeffrey Palermo’s Twitter — Follow to stay informed about future events! Jeffrey@Clear-Measure.com — Email Jeffrey for a free 30-point DevOps inspection (regularly priced at $5000!) — Spaces are limited! AiHelpWebsite.com BlazorHelpWebsite.com Blazor.net github.com/Oqtane An Introduction to Building Applications with Blazor: How to get started creating applications using this existing easy to use Microsoft C# framework, by Michael Washington Blazor Succinctly, by Michael Washington Radzen Telerik Syncfusion WebView for .NET 5 Microsoft Silverlight Oqtane .NET Nuke ASP.NET MVC Angular Vue React “Advanced Blazor Templating,” by Michael Washington NuGet ADelfHelpDesk.com Visual Studio Lightswitch  EF Core   Want to Learn More? Visit AzureDevOps.Show for show notes and additional episodes.

The 6 Figure Developer Podcast
Episode 132 – EF and EF Core with Brice Lambson

The 6 Figure Developer Podcast

Play Episode Listen Later Feb 24, 2020 37:10


  Brice is a senior software engineer on the Entity Framework team at Microsoft. In his spare time, he enjoys giving back to the community through blogging and open source.   Links https://www.bricelam.net/ https://github.com/bricelam https://stackoverflow.com/users/475031/bricelam https://twitter.com/bricelambs   "Tempting Time" by Animals As Leaders used with permissions - All Rights Reserved   × Subscribe now! Never miss a post, subscribe to The 6 Figure Developer Podcast! Are you interested in being a guest on The 6 Figure Developer Podcast? Click here to check availability!  

.NET Rocks!
Entity Framework Core 3 with Julie Lerman

.NET Rocks!

Play Episode Listen Later Nov 14, 2019 59:28


What's up with Entity Framework? Carl and Richard talk to Julie Lerman about the latest updates to Entity Framework, both EF 6 and Entity Framework Core 3.0. The discussion dives into this transitory time in the world of .NET, where .NET framework and .NET Core live side-by-side, and looking to a future of a unified .NET 5. Julie talks about the new features in EF Core 3.0 and what's coming shortly in EF Core 3.1. There are more breaking changes than new features, but it should all be worth it, lining up for what comes in the next year. Exciting times!Support this podcast at — https://redcircle.com/net-rocks/donations

.NET Rocks!
Entity Framework Core 3 with Julie Lerman

.NET Rocks!

Play Episode Listen Later Nov 14, 2019 59:27


What's up with Entity Framework? Carl and Richard talk to Julie Lerman about the latest updates to Entity Framework, both EF 6 and Entity Framework Core 3.0. The discussion dives into this transitory time in the world of .NET, where .NET framework and .NET Core live side-by-side, and looking to a future of a unified .NET 5. Julie talks about the new features in EF Core 3.0 and what's coming shortly in EF Core 3.1. There are more breaking changes than new features, but it should all be worth it, lining up for what comes in the next year. Exciting times!Support this podcast at — https://redcircle.com/net-rocks/donations

.NET Bytes
Episode 5: News from April 11th, 2019 through August 14th, 2019

.NET Bytes

Play Episode Listen Later Aug 18, 2019 18:00


THE NEWS FROM REDMOND .NET Core 3.0 Preview 8 Visual Studio 2019 - 16.3 Preview 2 / Visual Studio for Mac 8.3 Preview 2 EF Core 3.0 Preview 8 / EF 6.3 Preview 8 New NuGet Search MSN Magazine Shutting Down AROUND THE WORLD Synchronized Drawing with Xamarin.Forms, SkiaSharp, and Couchbase Mobile PROJECTS OF THE WEEK No project this week SHOUT-OUTS / PLUGS .NET Bytes on Twitter Matt Groves is: Tweeting on Twitter Live Streaming on Twitch Calvin Allen is: Tweeting on Twitter Live Streaming on Twitch Jason Gilmore on Twitter

DevCouch
Organspende mit LinqPad

DevCouch

Play Episode Listen Later Jul 22, 2019 72:50


Manuel hat die Segelprüfung bestanden, Thomas neues von EF Core 3.0 und wir sprechen wieder über neue Visual Studio Features, Filtered Solutions und LinqPad!

organspende ef core linqpad
Weekly Dev Tips
Avoid Lazy Loading in ASP.NET Apps

Weekly Dev Tips

Play Episode Listen Later Dec 17, 2018 5:52


Hi and welcome back to Weekly Dev Tips. I’m your host Steve Smith, aka Ardalis. This is episode 34, in which we'll talk about lazy loading in ASP.NET and ASP.NET Core apps, and why it's evil. If you’re enjoying these tips, please leave a comment or rating in your podcast app, tell a friend about the podcast, or follow us on twitter and retweet our episode announcements so we can increase our audience. I really appreciate it. Avoid Lazy Loading in ASP.NET (Core) Apps This week's tip is on the topic of lazy loading using Entity Framework or EF Core in ASP.NET and ASP.NET Core apps. Spoiler alert: don't do it. Keep listening to hear why. Sponsor - devBetter Group Career Coaching for Developers Last week I announced my new developer career coaching program, devBetter. If you're not advancing as quickly in your career as you'd like, and you could use someone in your corner pushing you to succeed and opening up doors to new opportunities, consider joining a handful of like-minded developers at devbetter.com. Show Notes / Transcript Lazy loading is a feature that EF6 has had for a long time and EF Core only recently added with version 2.1. The way it works is, entities are fetched without their related entities, and these related entities are loaded "just in time" as code references them. This seems to follow the best practice of deferred execution, but unfortunately the downsides far outweigh the benefits the vast majority of the time in this case. I recommend disabling lazy loading in all ASP.NET and ASP.NET Core apps. Let's look at why. On any given web request, the goal should be to return a response to the client as quickly as possible. The fewer out-of-process calls the request needs to make before it can return a response, the faster it will be, all things being equal. If a round-trip to the database takes 20ms and processing the request requires 10 database calls, then assuming they can't be made in parallel the minimum time for this is 200ms. If the same data could be fetched in a single round-trip to the database, it would cut page load time by 180ms, not counting the time to execute the queries themselves which might also be faster if done in one batch. When you use lazy loading, your code will make more calls to the database than if you had used eager loading. It's also deceptively easy to write code that will result in lazy loading being done within some kind of loop, resulting in dozens or hundreds of database calls. This can be difficult to detect in development and even in testing, but in production where usually there are more users and larger sets of data in use, the problem can have huge performance implications. I have a GitHub repo that demonstrates lazy loading using ASP.NET MVC 5 and EF 6 and also ASP.NET Core with EF Core. I encourage you to download it and run it yourself. It demonstrates the problem using a conference web site as its sample data. There are conference sessions. Each session has one or more speakers presenting it. Each session can have one or more tags. For sample data I have 2 sessions with 2 speakers and 3 tags total. Displaying the page shows each session and its speakers, tags, and description, all done with some simple razor code in the view. The initial query just pulls in the sessions - the speakers and tags are lazy loaded. How many queries do you think this page makes to the database? Let's think about how many it should make. Assuming the site's just loaded and has no cache in place, it should be able to load the data for this page using a single query. At worst a couple of queries. This kind of data is also highly cacheable, so after the first load the page should render with 0 queries. For this reason I like to say "caching hides many sins" because even if you do use lazy loading and have way too many queries, if you add caching it'll be the rare user who has to suffer for it. Coming back to the sample, with 2 sessions, 2 speakers, and 3 tags, the page makes 22 database queries to render the page using lazy loading. It should be clear that this number is going to grow rapidly as the number of sessions, speakers, and tags increases. Most conferences have more than 2 sessions, after all, but during development maybe only a couple are used and only one user is hitting the page, so the performance impact might not be felt until the worst possible time: the day of the conference. At which point it may be too late to fix and redeploy the code. Lazy loading is a tool that makes sense in certain situations. It's especially effective when the application and the database are colocated and there's just one user. If you're writing bookkeeping software that runs locally and communicates with a local database, it might make sense to use lazy loading as the user navigates around the system rather than trying to eager load all of the data. But in the context of processing a single web request, when every extra trip to the database slows the page down further, and where it can be easy to inadvertently add dozens or more requests, you should avoid it. Show Resources and Links devBetter Avoid Lazy Loading Entities in ASP.NET Apps Lazy Loading GitHub Sample How to Disable Lazy Loading in EF That’s it for this week. Thank you for subscribing to Weekly Dev Tips, and we’ll see you next week with another great developer tip.

Weekly Dev Tips
Use the Right Object Lifetime

Weekly Dev Tips

Play Episode Listen Later Dec 10, 2018 8:56


Use the right object lifetime This week we talk about object lifetimes, why they matter, and how to choose the right one. We'll focus a little bit on Entity Framework since it's very popular and also very frequently misconfigured. Sponsor - devBetter Group Career Coaching for Developers This week I'm announcing my new developer career coaching program, devBetter. If you're not advancing as quickly in your career as you'd like, and you could use someone in your corner pushing you to succeed and opening up doors to new opportunities, check it out at devbetter.com. Show Notes / Transcript If you're not using dependency injection or following the dependency inversion principle in your code, you probably don't care much about object lifetimes. You can probably just instantiate new instances anywhere you need them and then let them be destroyed when they go out of scope. In this case, you probably have no use for an IoC or DI container. However, your code is probably also very tightly coupled, making it more difficult to test and reconfigure in the future. If it's working for you, keep at it, but if you're feeling pain from the coupling, I encourage you to check out my SOLID principles and Refactoring courses on Pluralsight to learn a different way to compose things. If you are using DI and containers, like most developers using ASP.NET Core where it's built-in, or even ASP.NET MVC, you've probably encountered the concept of object lifetimes before. There's some variety in the nomenclature for some of the options, but using the terminology of ASP.NET Core's container, there are three main kinds of object lifetimes: transient, scoped, and singleton. Let me cover these briefly and apologies if you're already well-versed in this topic. Transient scope refers to objects that are created any time they're requested. If you request an instance of a type from the container, and that type's scope is transient, you're getting a brand new instance. If you ask for a type and that type has a constructor parameter that's configured to be transient, that constructor parameter is going to be a brand new instance, every time. Scoped lifetime refers to objects that, once created, live on for the duration of a given HTTP request. If you ask the container for an instance multiple times within an HTTP request, you'll get the same instance every time. Regardless of where the request to the DI container comes from within the web request, the same object instance is returned from the DI container. The first call to get an instance of the type will get a new instance; every subsequent request for that type will get this same instance. Singleton scope is simple - there's only one instance. The first time an instance is requested, it's created, or you can create it during startup and add it to the container then. After that, the same instance is used everywhere. So, which one should you use? Well, naturally, it depends. Since we don't have a lot of time, let's just look at a couple of scenarios that involve Entity Framework or EF Core, which I'll refer to collectively as EF. EF should be set up with a scoped lifetime, so that within a given web request, exactly one instance of an EF DbContext is used. In ASP.NET Core when configuring EF Core, the helper methods take care of this for you, so you never have to make a decision about what lifetime to use. In EF 6, you had to figure it out yourself. And either way, if you're using the repository pattern, you have to make the right choice for your repository instances, too. It's important that the right choice is used for EF DbContexts, specifically because they track the entities they work with. As such, you can't have an entity that is tracked by multiple DbContext instances - that will cause an exception. You also typically don't want to share entity instances between requests - that can cause bugs when two requests are making changes to an entity they both think they have exclusive access to. So let's say you configure your repository instances to be transient. That means if you have two different classes within a request, like a controller and a service, that both need the same kind of repository, they'll each get a different, newly created instance. And assuming nothing else needs a DbContext, the first instance of the repository will get a new DbContext, and the second instance of the repository will reuse the same DbContext. There's probably no need to have two separate repository instances in this case, but there shouldn't be any bugs. Now let's say you configure your repository instances to behave as singletons. Consider the same scenario in which a given web request needs the repository first in a controller and later in a service. The very first request to the web server will result in a newly created repository instance (which will be reused) and a newly created dbcontext that's then passed to the controller. Then in that same request, when the service is created, it is passed this same repository instance, which still has the same DbContext associated with it. The request completes just fine. Now a subsequent request comes in. It will once again use the same repository instance, which still has a reference to the same DbContext. But that instance was scoped to a web request that has completed, so it's not going to work for this request. Or consider another scenario, in which two requests are occurring at the same time. Both will share the repository, and its dbcontext, so any entities created and tracked will be shared between the two requests. If one request makes a partial update, and the other request calls SaveChanges, the update will occur immediately, perhaps resulting in an error due to database constraints. This same thing can happen if you configure your dbcontext to be a singleton. So, in the case of EF DbContexts and Repositories, the key takeaway is that their lifetimes should match, and their lifetimes in web applications should be Scoped. For other kinds of services, especially other ORMs like NHibernate, it's important you understand exactly how these types should be configured when it comes to their object lifetimes for web scenarios. Show Resources and Links devBetter Dependency Injection Dependency Inversion Principle SOLID principles Refactoring

Weekly Dev Tips
Applying Pain Driven Development to Patterns

Weekly Dev Tips

Play Episode Listen Later Oct 1, 2018 8:40


Applying Pain Driven Development to Patterns This week we talk about specific ways you can apply my strategy of Pain Driven Development to the use of design patterns. This is an excerpt from my Design Pattern Mastery presentation that goes into more detail on design patterns. Sponsor - DevIQ Thanks to DevIQ for sponsoring this episode! Check out their list of available courses and how-to videos. Show Notes / Transcript I talked about Pain Driven Development, or PDD, in episode 10 - check out that episode first if you're not familiar with the practice. I've recently been focusing a bit on some design patterns. An easy trap to fall into with design patterns is trying to apply them too frequently or too soon. PDD suggests waiting to experience pain while trying to work with the application's current design before you attempt to refactor to improve its design by applying a design pattern. In this tip, I'll walk through a few common steps where applying a specific pattern may be helpful. To begin, let's assume we have a very simple web application. Let's say it's using MVC, and there's a controller that needs to be used to return some data fetched from a database. It could be an API endpoint or a view-based page - the UI format isn't important in this case. The absolute simplest thing you can do in this situation is hard code your data access code into your controller. So, assuming you're using ASP.NET Core and Entity Framework Core, you could instantiate an DbContext in the controller and use that to fetch the data. This works and meets the immediate requirement, so you ship this version. A little bit later, your application has grown more complex. You have some filters that also use data, along with other services. You start to notice occasional bugs from EF and realize that you've introduced a bug. By instantiating a new DbContext in each controller, but occasionally passing around entities between parts of the application, EF gets in a state where entities are tracked by one instance but you're trying to operate on them with another instance of DbContext. You need to use a single EF Core DbContext per web request, which is to say it should have a "Scoped" lifetime. Fortunately, ASP.NET Core makes it very easy to achieve this by configuring your DbContext inside of ConfigureServices. In fact, if you don't read the docs, you probably don't even know what lifetime EF Core is using, because it's hidden within an extension method. In any case, once you configure DbContext in ConfigureServices, you need a way to get it into your Controller(s). To do this requires the Strategy pattern, covered in episode 19. If you're familiar with dependency injection, you've used the Strategy pattern. Add a constructor to your Controller, pass in the DbContext, and set a private local field with the value passed into the constructor. Do this anywhere you're otherwise newing up the DbContext. Remind yourself 'new is glue'. You just fixed an issue with too tight of coupling to the instantiation process by using the service collection built into ASP.NET Core, an IOC container, essentially a factory on steroids. Your EF Core lifetime bug is now fixed, so you ship the code. Some more time passes, the application has grown, and now there are a bunch of controllers and other places that all have DbContext injected into them. You've noticed some duplication in how code works with the DbContext. You've also found that it's tough to unit test your classes that have a real DbContext injected, except by configuring EF Core to use its In Memory data store. This works, but you'd prefer it if your unit tests truly had no dependencies so you could just test behavior, not low-level data access libraries. You decide that you can solve both of these problems by introducing the Repository pattern, which is just a fancy name for an abstraction used to encapsulate the low level details of your data access. You create a few such interfaces, implement them with DbContext, and make sure your Controllers and other classes that were directly using DbContext now have an interface injected instead. Along the way you fix a couple of bugs you discovered that had grown due to duplicate code that had evolved differently, but which should have remained consistent. When you're done, the only types that know about DbContext directly are your concrete Repository implementations. Your application is growing more popular now, and some of the pages are really hammering the database. Their data doesn't change very often, so you decide to add some caching. Initially you start putting the caching logic directly in your data access code in your repository implementations that use EF Core, but you quickly find that there is a lot of duplication and your once-simple repositories are now growing cluttered with a lot of caching logic. What's more changing the details of what is cached how is requiring you to touch and re-touch the repository types again and again. Your current approach is obviously violating both the Single Responsibility and Open-Closed principles, two of the SOLID principles. You recognize that you can apply the Decorator (or Proxy) pattern by moving the caching logic into a CachedRepository type, which you can choose when and where to use on a per-entity basis simply by adjusting the type mapping in your application's ConfigureServices method. With this in place, you're able to quickly apply caching where appropriate, and ship a better performing version of your application. Over time, as you built out your repositories, you kept basic methods for creating, reading, updating, and deleting entities in one place. Maybe you implemented a generic repository, or used a base class. You were careful not to expose IQueryable interfaces from your Repositories, so their query details didn't leak throughout your application. However, to support many different kinds of queries, with different filters and including different amounts of data from related types, you found that you needed to add many additional methods and overloads. In addition to a simple List method on your Order repository, you needed ListByCustomer, ListByProduct, ListByCompany, not to mention ListWithOrderDetails and other variations. Some of your repositories were growing quite large, and included quite a bit of complex query logic, which wasn't always easy to reuse even between methods in the same repository. To address this pain, you applied the Specification pattern, which treats each unique query as its own type. Using this approach, you were able to create specifications like OrdersByCustomer, OrdersByProduct, and OrdersByCompany which included the appropriate OrderDetails if desired, or included an option to specify whether to include it. Your Repository implementations dropped down to just simple CRUD methods, with the List method now taking in a Specification as a parameter. Hopefully this helps you see how you can recognize a certain kind of pain, and respond to that pain by refactoring to use a specific design pattern. If you keep your code clean and simple, it's fairly easy to do this kind of refactoring as you need it, so there's no need to try and use every pattern you know speculatively as you begin a project. Show Resources and Links Design Pattern Library Refactoring Fundamentals Pain Driven Development SOLID Principles

no dogma podcast
#105 Jon Smith, Entity Framework Core 2.1 and Domain Driven Design

no dogma podcast

Play Episode Listen Later Sep 24, 2018 47:07


Summary Jon Smith talks to me about Entity Framework Core 2.1, how to organize your EF code to meet the principles of domain driven design and his recent book on the topic. Details Who he is, what he does. Leaving tech and coming back. Differences between EF 6 and EF Core, no more db initializer or data validation (by default), better adding and updating, lazy loading, less bugs in Core 2. How to layout your models, DTO's, business logic, getters and setters, action methods and where to perform queries. Measuring performance and scalability of Entity Framework; Bryan rants about measuring performance yourself, Dapper vs EF, does performance always matter ; Entity Framework Extensions and Dapper Plus from ZZZ Projects. Unit testing, Ensure Created, how to test calls to stored procs with EF. Full show notes

Weekly Dev Tips
Layering Patterns on Repositories

Weekly Dev Tips

Play Episode Listen Later Aug 27, 2018 7:28


Layering Patterns on Repositories This week we're sticking to the patterns and repositories theme. I started down the design patterns path with Episode 17 so start at least from there if you want to listen to the sequence more-or-less in order. In this episode, we'll look at some combinations with other patterns that make using the Repository pattern even more attractive. Sponsor - DevIQ Thanks to DevIQ for sponsoring this episode! Check out their list of available courses and how-to videos. Show Notes / Transcript Last week I mentioned how the Repository pattern works well with the Strategy pattern, so that you can use dependency injection with it. This is the first of many ways in which you can combine Repository with other patterns, and is probably the most powerful of them all (though probably taken for granted by many). I described the strategy pattern in episode 19. Let's look at two other patterns now that we can combine with Repository. First, let's talk about a common pain point with repositories: custom queries. I talked about the need to encapsulate query logic so it doesn't leak out of your repository in episode 18. However, I saved a powerful technique for doing so until this tip. (Sorry, there's only so much I can put into each of these and keep them short.) If you follow my earlier advice and you don't leak query logic outside of your repositories, it's likely your repository implementations have a bunch of custom query methods. Maybe you have standard GetById and List methods, but then you also have ListByState, ListByModel, ListByOwner, etc. Maybe you have methods that correlate directly to business use cases or even UI concerns, like ListPremiumCustomers or ListForSearchScreen. The point is, you may find yourself with the code smell of too many one-off custom query methods on your repositories. This is pretty common, and the worse it gets the more cumbsersome it becomes to work with the repositories. The solution to this problem is to introduce another pattern. The Specification pattern is designed to encapsulate a query within an object. I mentioned it briefly in episode 24. It's especially useful when you're using an ORM tool like EF or EF Core because not only can you encapsulate filter expressions, but you can also specify which properties to eager load. Thus, you can create a specification for a shopping basket type that might be called BasketWithItemsByCustomerId or something similar. A typical specification I use will include the filter expression (to be used with a Where LINQ expression) and will let me specify which properties and subproperties I want the query to return with it. What are the benefits of using this pattern? First, you eliminate duplication of query logic if you were previously letting client code create queries on the fly. Second, you establish a library of known queries that your development team can review, reuse, and discuss. These should be organized so they're extremely discoverable so there's minimal need to try and reinvent the wheel when someone needs a particular query that already exists. They also help clean up your repositories, eliminating most of the scenarios where you would need non-generic repository methods, and thus dramatically reducing how many repository implementations you need to write and maintain. Your repository code will better follow the Single Responsibility Principle and the Open/Closed Principle, and you won't need a bunch of custom IWhateverRepository interfaces. Finally, you can easily unit test your specifications' filter logic to ensure it's correct and provide examples for the team. Another useful pattern you can use with repository is the proxy or decorator pattern to add caching. I call this the CachedRepository pattern and I've written a number of articles about it. I mention both patterns because they're functionally the same, but differ based on intent. A proxy controls access to something. A decorator adds behavior to something. A CachedRepository controls access to the real, underlying repository, exposing it only when the result isn't in the cache. In this way, it's a proxy. But it also is responsible for adding caching behavior to any repository. In this way, it's a decorator. Either way, it's an extremely useful pattern. Most applications make a lot of queries to their database for results that don't change frequently. A lot of applications use a database to define some or all of their navigation, or the contents of common dropdownlists on forms. These and other common results are great candidates for caching, but often this behavior isn't added because of the work and complexity involved. Adding caching to a method in a data access repository isn't ideal, since it couples two unrelated concerns and breaks the single responsibility principle. It's also not very reusable. A better approach is to create a generic CachedRepository that can be used for any type that would benefit from caching. Determining whether or not to use this caching functionality can be controlled centrally for the application wherever its services are configured. Circling back around to the specification pattern, you can combine it with the CachedRepository to help with key generation. Every cache entry needs to have a unique key, and you need to take care when constructing keys that you take into account any variables or parameters that were used for a particular query. Your specification objects know exactly which parameters they require, and can easily expose a cache key property that can be used by your CachedRepository. You can also add a property to toggle whether certain specifications should be cached at all, if that's helpful. If you'd like to see what this looks like in a simple sample application, check out the eShopOnWeb sample on GitHub. I have a link in the show notes. There's also a free 110-page eBook that goes along with the sample that I encourage you to check out. I developed both the book and the sample for Microsoft as a free resource and they're both up-to-date with .NET Core 2.1 as of July 2018. Do you think your team or application could be improved by better use of design patterns? I offer remote and onsite workshops guaranteed to improve your coding skills and application code quality. Contact me at ardalis.com and let's see how I can help. Show Resources and Links Repository Pattern SOLID Principles Specification Pattern Building a CachedRepository in ASP.NET Core Introducing the CachedRepository Pattern Building a CachedRepository via Strategy Pattern

Weekly Dev Tips
Do I Need a Repository?

Weekly Dev Tips

Play Episode Listen Later Jun 11, 2018 7:45


Do I Need a Repository? This week we'll answer this extremely common question about the Repository pattern, and when you should think about using it. Sponsor - DevIQ Thanks to DevIQ for sponsoring this episode! Check out their list of available courses and how-to videos. Show Notes / Transcript This week we're going to return to the Repository design pattern to answer a very common question: when should you use it? This question appears very frequently in discussions about Entity Framework or EF Core, usually with someone saying "Since EF already acts like a repository, why would you create your own repository pattern on top of it?" Before we get into the answer to this question, though, let me point out that if you're interested in the repository pattern in general I have a link to a very useful EF Core implementation in the show notes for this episode that should help get you started or perhaps give you some ideas you can use with your existing implementation. Also, just a reminder that we talked about the pattern in episode 18 on query logic encapsulation, but otherwise I haven't spent a lot of time on repository tips here, yet. Ok, so on to this week's topic. Should you bother using the repository pattern when you're working with EF or EF Core, since these already act like a repository? If you Google for this, you're likely to discover an article discussing this topic that suggests repository isn't useful. In setting the scene, the author discusses an app he inherited that had performance issues caused by lazy loading, which he says "was needed because the application used the repository/unit of work pattern." Before going further, let's point out two things. One, lazy loading in web applications is evil. Just don't do it except maybe for internal apps that have very few users and very small data sets. Read my article on why, linked from the show notes. Second, no, you don't need lazy loading if you're using repository. You just need to know how to pass query and loading information into the repository. The author later goes on to say "one of the ideas behind repository is that you might replace EF Core with another database access library but my view it's a misconception because a) it's very hard to replace a database access library, and b) are you really going to?" I agree that it's very hard to replace your data access library, unless you put it behind a good abstraction. As to whether you're going to, that's a tougher one to answer. I've personally seen organizations change data access between raw ADO.NET, Enterprise Application Block, Typed Datasets, LINQ-to-SQL, LLBLGen, NHibernate, EF, and EF Core. I've probably forgotten a couple. Oh yeah, and Dapper and other "micro-ORMs", too. If you're using an abstraction layer, you can swap out these implementation details quickly and easily. You just write a new class that is essentially an adapter of your repository to that particular tool. If you're hardcoded to any one of them, it's going to be a much bigger job (and so, yeah, you're less likely to do it because of the pain involved.) Next, the author lists some of the bad parts of using repository. First, sorting and filtering, because a particular implementation he found from 2013 only returned an IEnumerable and didn't provide a way to allow filtering and sorting to be done in the database. Yes, poor implementations of a pattern can result in poor performance. Don't do that if performance is important. Next, he hits on lazy loading again. Ironically, at the time this article was published, EF Core didn't even support lazy loading, so this couldn't be a problem with it. Unfortunately, now it does, but as I mentioned, you shouldn't use it in web apps anyway. It has nothing to do with repository, despite the author thinking they're linked somehow. His third perf-related issue is with updates, claiming that a repository around EF Core would require saving every property, not just those that have changed. This is also untrue. You can use EF Core's change tracking capability with and through a repository just fine. His fourth and final "bad part" of repositories when used with EF Core is that they're too generic. You can write one generic repository and then use that or subtype from it. He notes that it should minimize the code you need to write, but in his experience as things grow in complexity you end up writing more and more code in the individual repositories. Having less code to write and maintain really is a good thing. The issue with complexity resulting in more and more code in repositories is a symptom of not using another pattern, the specification. In fact, the specification pattern addresses pretty much all of the issues described in his post that I haven't already debunked. The author knows about this pattern, which he describes as 'query objects', but doesn't see how they can be used together with repositories just as effectively as he uses them instead of repositories. One last thing I want to point out that many folks (including the author of this article) misunderstand is the idea of being able to unit test code that works with data. This might just come down to the definition of a unit test, so I'll start with that. A unit test is a test that only tests your code at the unit level. That typically means a single method, or at most a class since to access a single method you may need to create an instance of a class and thus also execute its constructor, etc. If you have a test that tests more than one class working together, or that depends on code that isn't yours (like, say, an ORM), it's not a unit test. It's an integration test. The author goes on to suggest that since EF Core supports an in-memory database, you can use that for unit-testing your application. You can't. You can use it for integration testing, which is great. But it's not unit testing. The distinction is important because clean code should be unit testable. If it isn't, it's a code smell, suggesting that you may have too much coupling. You might be OK with that, but you should at least be aware of the issue so you can decide for yourself whether you're OK with it, rather than having a false sense of complacency because your integration tests work well enough. Would your team or application benefit from an application assessment, highlighting potential problem areas and identifying a path toward better maintainability? Contact me at ardalis.com and let's see how I can help. Show Resources and Links Repository Pattern Is the repository pattern useful with EF Core? Avoid Lazy Loading Entities in ASP.NET Applications Specification Pattern Unit Test or Integration Test (and why you should care) Integration Tests in ASP.NET Core

Lambda3 Podcast
Lambda3 Podcast 94 – Microsoft Build 2018

Lambda3 Podcast

Play Episode Listen Later May 11, 2018 103:04


Recapitulamos como foi o maior evento para desenvolvedores da Microsoft, o Build 2018, que trouxe várias novidades de Inteligência Artificial, .NET, programação holográfica, DevOps, e muito mais. Feed do podcast: www.lambda3.com.br/feed/podcast Feed do podcast somente com episódios técnicos: www.lambda3.com.br/feed/podcast-tecnico Feed do podcast somente com episódios não técnicos: www.lambda3.com.br/feed/podcast-nao-tecnico Pauta: AI, IA, e mais inteligência artificial! Diversidade no Build Privacidade e detecção facial Projeto Kinect para Azure IoT Cortana + Alexa = BFF Microsoft Remote Assist e Microsoft Layout. Parceria da Microsoft com DJI sobre drones .NET Core 2.1 RC, ASP.NET Core 2.1 RC e EF Core 2.1 RC .NET Core 3.0 Update 7 do VS 2017 (15.7) Live Share Public Preview Melhorias no AKS AKS Dev Spaces Anúncio do Intellicode ML.NET App Center no Github Marketplace Controles UWP no WPF e Windows Forms Novidades do C# 8 Outros assuntos diversos Links Citados: Keynotes do Build Resumo do primeiro dia do Build e dos principais anúncios Microsoft Remote Assist e Microsoft Layout Case de drones Participantes: Emmanuel Brandão - @egomesbrandao Giovanni Bassi - @giovannibassi Lucas Teles Mahmoud Ali - @akamud Edição: Luppi Arts Créditos das músicas usadas neste programa: Music by Kevin MacLeod (incompetech.com) licensed under Creative Commons: By Attribution 3.0 - creativecommons.org/licenses/by/3.0

Lambda3 Podcast
Lambda3 Podcast 90 – .NET Core 2.1, ASP.NET Core, .NET Standard 2.1 e EF 2.1

Lambda3 Podcast

Play Episode Listen Later Apr 13, 2018 83:40


Nesse episódios discutimos as novidades da versão 2.1 do .NET Core, .NET Standard, ASP.NET Core e Entity Framework Core. Feed do podcast: www.lambda3.com.br/feed/podcast Feed do podcast somente com episódios técnicos: www.lambda3.com.br/feed/podcast-tecnico Feed do podcast somente com episódios não técnicos: www.lambda3.com.br/feed/podcast-nao-tecnico Giovanni, Victor, Vinicius e Graziella no estúdio Pauta: .NET Core 2.1 Global tools Build Performance Improvements Minor-Version Roll-forward Sockets Performance and HTTP Managed Handler Span, Memory e amigos Windows Compatibility Pack Mais plataformas Novidades com Docker ASP.NET Core 2.1 Usando ASP.NET Core previews no Azure App Service Apresentando HttpClientFactory Improvements for using HTTPS Improvements for building Web APIs Introducing compatibility version in MVC Getting started with SignalR Introducing global tools Using Razor UI in class libraries Improvements for GDPR Improvements to the Kestrel HTTP server Improvements to IIS hosting Functional testing of MVC applications Introducing Identity UI as a library Hosting non-server apps with GenericHostBuilder Entity Framework Core 2.1 Lazy Loading Parâmetros em construtores de entidades Injetando serviços, proxies, etc Conversão de valores Group By com tradução no linq Otimização de subquery Seed Query types Include com tipos derivados Suporte a System.Transactions Novo OwnedAttribute Links Citados: Post sobre o ASP.NET Core 2.1 no blog da Microsoft Post sobre o EF Core 2.1 no blog da Microsoft Post sobre o .NET Core 2.1 no blog da Microsoft Participantes: Giovanni Bassi - @giovannibassi Graziella Bonizi Victor Cavalcante - @vcavalcante Vinicius Quaiato - @vquaiato Edição: Luppi Arts Créditos das músicas usadas neste programa: Music by Kevin MacLeod (incompetech.com) licensed under Creative Commons: By Attribution 3.0 - creativecommons.org/licenses/by/3.0

.NET.CZ
.NET.CZ(Episode.24) - Entity Framework

.NET.CZ

Play Episode Listen Later Apr 6, 2018 35:33


Vstupujeme do druhého roku našeho podcastu! Naše pozvání opět přijal Jiří Činčura a tentokrát jsme popovídali o Entity Frameworku a srovnali "klasický" EF s tím "novým" - EF Core. Odkazy: - Entity Framework Core: https://github.com/aspnet/EntityFrameworkCore/ - Entity Framework 6: https://github.com/aspnet/EntityFramework6 - Entity Framework Core quick overview: https://docs.microsoft.com/en-us/ef/core/ - WUG Days 2018: https://wug.cz/brno/akce/1000-WUG-Days-2018 Twittery atd.: - https://twitter.com/cincura_net (Jirka) - https://twitter.com/deeedx (Martin) - https://twitter.com/madrvojt (Vojta) Děkujeme Worklio a Radkovi za nové logo! Pokud nechcete, aby vám unikla nová epizoda, odebírejte RSS: https://bit.ly/netcz-podcast-rss, sledujte nás na Twitteru: https://twitter.com/dotnetcezet nebo na Apple Podcasts. Hudba pochází od Little Glass Men: https://freemusicarchive.org/music/Little_Glass_Men/

.NET Rocks!
The .NET Core 2 Road Map with Scott Hunter

.NET Rocks!

Play Episode Listen Later Mar 13, 2018 50:48


What is coming up for .NET Core? Carl and Richard talk to Scott Hunter, who leads all of .NET at Microsoft, about the road ahead for .NET Core. But first, a quick look back at where .NET has come from, including a discussion around performance and the impact of the Meltdown and Spectre CPU security flaws impacting performance across the board. Then into a huge raft of features coming up in the next year in .NET Core, including compilation and performance enhancements, as well as some old favorites like lazy loading in EF Core and SignalR!Support this podcast at — https://redcircle.com/net-rocks/donations

.NET Rocks!
The .NET Core 2 Road Map with Scott Hunter

.NET Rocks!

Play Episode Listen Later Mar 13, 2018 50:47


What is coming up for .NET Core? Carl and Richard talk to Scott Hunter, who leads all of .NET at Microsoft, about the road ahead for .NET Core. But first, a quick look back at where .NET has come from, including a discussion around performance and the impact of the Meltdown and Spectre CPU security flaws impacting performance across the board. Then into a huge raft of features coming up in the next year in .NET Core, including compilation and performance enhancements, as well as some old favorites like lazy loading in EF Core and SignalR!Support this podcast at — https://redcircle.com/net-rocks/donations

Weekly Dev Tips
Encapsulating Collection Properties

Weekly Dev Tips

Play Episode Listen Later Nov 13, 2017 5:38


Encapsulating Collection Properties Encapsulation is a key aspect of object-oriented programming and software engineering. Unfortunately, many systems fail to properly encapsulate collection properties, resulting in reduced quality. Sponsor - DevIQ Thanks to DevIQ for sponsoring this episode! Check out their list of available courses and how-to videos. Show Notes / Transcript Encapsulation essentially means hiding the inner workings of something and exposing a limited public interface. It helps promote more modular code that is more reliable, since verifying the public interface's behavior provides a high degree of confidence that the object will interact properly with collaborators in a system. One area in which encapsulation often isn't properly followed is with collection properties. Collection Properties Any time you have an object that has a collection of related or child objects, you may find this represented as a collection property. If you're using .NET and Entity Framework, this property is often referred to as a navigation property. Some client code can fetch the parent object from persistence, specify to EF that it should load the related entities, and then navigate from the parent object to its related objects by iterating over an exposed collection property. For example, a Customer object might have a set of Orders they've placed previously. This could be represented most simply by having a public List property on the Customer class. This property must expose a getter, and in many cases system designs will have it expose a public setter as well. In that case, any code in the system would be able to set a Customer's order collection to any list of Orders, or to null. This could obviously result in undesired behavior. Some developers might offer token resistance to this total lack of encapsulation by removing the setter (or making it private), but the damage is done as long as the property exposes a List data type, with all of its mutable functionality. This kind of design exposes too much functionality from the Customer, since it inherently allows any client code that works with a Customer to: Directly add or remove an order to/from the Customer Clear all orders from the Customer In these cases, the Customer object in question has no way of controlling, preventing, or even detecting these changes to its Orders collection. Why is this important? Well, there is probably a decent amount of workflow involved in placing a new order for a customer. It's probably not sufficient to simply add a new order without any additional work. Now, you can argue that somewhere there's a service that does all the required work, but how does the object model enforce the use of said service? If any client code can instantiate an order and add it to a customer, how is the design of the system leading developers toward doing the right thing (using a service, in this case)? On the other hand, if there is no way to directly add an order to a customer, developers will probably quickly discover that there is a service for this purpose, and it's more likely that this service will provide the only way of adding new orders to customers. In most cases, there are only certain operations on related collections that an object should expose, and these it probably wants to have direct control over. If Customer collaborators shouldn't be able to directly delete all of a customer's orders, don't expose the collection as a List. Instead, expose a ReadOnlyCollection, or an IEnumerable. Both EF 6 and EF Core support properly encapsulating collection navigation properties, so don't feel like you have to expose List types in order to keep EF happy. Check out the links in the show notes at WeeklyDevTips.com/011 to see how to configure EF to support proper collection encapsulation. Show Resources and Links Encapsulated Collections in EF Core Exposing Private Collection Properties to Entity Framework Encapsulation Exposing Collection Properties

.NET Rocks!
Entity Framework Core 2 with Julie Lerman

.NET Rocks!

Play Episode Listen Later Oct 3, 2017 54:41


Core 2 is out, and with it, Entity Framework Core 2! While at ProgNet in London, Carl and Richard chatted with Julie Lerman about the latest version of Entity Framework Core. Julie talks about what's in, what's out and what's different - and it's a lot. The discussion digs into why you would use EF Core, including cases where you would use it with the regular Framework, not just with .NET Core. The team has taken the opportunity to do things differently, based on learnings from the original Entity Framework, giving EF Core some unique features and a pretty cool future. EF Core has more to come!Support this podcast at — https://redcircle.com/net-rocks/donations

.NET Rocks!
Entity Framework Core 2 with Julie Lerman

.NET Rocks!

Play Episode Listen Later Oct 3, 2017 54:40


Core 2 is out, and with it, Entity Framework Core 2! While at ProgNet in London, Carl and Richard chatted with Julie Lerman about the latest version of Entity Framework Core. Julie talks about what's in, what's out and what's different - and it's a lot. The discussion digs into why you would use EF Core, including cases where you would use it with the regular Framework, not just with .NET Core. The team has taken the opportunity to do things differently, based on learnings from the original Entity Framework, giving EF Core some unique features and a pretty cool future. EF Core has more to come!Support this podcast at — https://redcircle.com/net-rocks/donations

DevCouch
0xDC02 Machine Based Learning

DevCouch

Play Episode Listen Later Jun 29, 2017 73:39


Wir sitzen schon wieder auf der Couch und warten auf das Essen. Währenddessen liefern wir Infos zur nächsten Folge nach, sprechen über den Status von EF Core, klären was Visual Studio Team System macht, ärgern uns über Client-Side Validation mit jQuery, reden über Unit-Testing Frameworks, sehen uns OzCode an und sprechen über die Ex-Freundinnen von GZSZ Star Jo Gerner. Vor allem erklärt aber Thomas die Basics von Machine Based Learning. Die Shownotes und alle Links gibts wie immer unter www.devcouch.de Folgt uns auf Twitter: https://twitter.com/_devcouch

.NET Rocks!
Understanding Entity Framework Core with Julie Lerman

.NET Rocks!

Play Episode Listen Later Dec 6, 2016 64:22


Entity Framework Core has shipped - now what? Carl and Richard talk to Julie Lerman about what this new version of Entity Framework does to the data layer. Julie digs into how EF Core has the same relationship with EF 6.x as ASP.NET Core has to ASP.NET 4.x - they are parallel versions aimed at different goals. The Core editions are all about cross-platform where the originals continue to be Windows-centric. Both versions of Entity Framework are open source on GitHub so you can see the development is on-going - and participate in it if you wish!Support this podcast at — https://redcircle.com/net-rocks/donations

.NET Rocks!
Understanding Entity Framework Core with Julie Lerman

.NET Rocks!

Play Episode Listen Later Dec 6, 2016 64:21


Entity Framework Core has shipped - now what? Carl and Richard talk to Julie Lerman about what this new version of Entity Framework does to the data layer. Julie digs into how EF Core has the same relationship with EF 6.x as ASP.NET Core has to ASP.NET 4.x - they are parallel versions aimed at different goals. The Core editions are all about cross-platform where the originals continue to be Windows-centric. Both versions of Entity Framework are open source on GitHub so you can see the development is on-going - and participate in it if you wish!Support this podcast at — https://redcircle.com/net-rocks/donations