martes, 14 de mayo de 2019
Seguimos viendo características novedosas de Entity Framework Core, y ahora llega el turno a otro detalle interesante si lo que buscamos es proteger nuestras entidades de modificaciones descontroladas y así asegurar en todo momento su consistencia: los constructores parametrizados.
En versiones anteriores a EF Core 2.1 y todos sus antecesores "clásicos", un problema que era difícilmente salvable era la necesidad de que en las entidades existiera un constructor público sin parámetros.
Esto tenía sentido, pues debíamos proporcionar al framework una vía para crear las instancias al materializarlas desde el almacén de datos. De hecho, al materializar, el marco de trabajo usaba dicho constructor para crear la instancia, y luego iba poblando las propiedades una a una utilizando sus setters (o estableciendo el valor de sus backing fields, como vimos en un post anterior)
En versiones anteriores a EF Core 2.1 y todos sus antecesores "clásicos", un problema que era difícilmente salvable era la necesidad de que en las entidades existiera un constructor público sin parámetros.
Esto tenía sentido, pues debíamos proporcionar al framework una vía para crear las instancias al materializarlas desde el almacén de datos. De hecho, al materializar, el marco de trabajo usaba dicho constructor para crear la instancia, y luego iba poblando las propiedades una a una utilizando sus setters (o estableciendo el valor de sus backing fields, como vimos en un post anterior)
lunes, 13 de mayo de 2019
Ahí van los enlaces recopilados durante la semana pasada, con bastantes perlas procedentes del evento Build 2019 que ha tenido lugar en Seattle días atrás. Espero que os resulten interesantes. :-)
Por si te lo perdiste...
- Cómo adaptarse a la RGPD con ASP.NET Core
José María Aguilar - ¿Esa enumeración está vacía?
José María Aguilar
.NET / .NET Core
- .NET Core is the Future of .NET
Scott Hunter - Introducing .NET 5
Richard Lander - Announcing .NET Core 3.0 Preview 5
Richard Lander - Declarative Coding Approach to Caching in .NET Core with PostSharp
Tugberk Ugurlu - Announcing .NET Core 3.0 Preview 5
Richard Lander - Introducing diagnostics improvements in .NET Core 3.0
Sourabh Shirhatti - Your .NET 5 Questions Answered (Kinda Sorta), Part 1: WCF
David Ramel - NLog: Rules and filters
Ivan Yakimov - Default timeouts in .Net code. What are they if you do not specify?
Chris F Carroll - Automatically Detect Expiring HTTPS SSL Certificates
Steve Smith - Looking back at Some of the Changes in C# 6
George Stocker - Cómo crear un servicio Net Core multiplataforma
Jorge Turrado
ASP.NET / ASP.NET Core
- ASP.NET Core updates in .NET Core 3.0 Preview 5
Brady Gaster - Simple custom authentication with ASP.NET Core
Gunnar Peipman - The backend for frontend and the HttpClient
João Antunes - Consuming a GraphQL API with ASP.NET Core
Marinko Spasojevic - Safely migrating passwords in ASP.NET Core Identity with a custom PasswordHasher
Andrew Lock - Simple Authentication In Razor Pages Without A Database
Mike Brind - Comparing Native Blazor Components
Ed Charbeneau - ASP.NET Core Blazor game development using .Net core 3.0 preview,Web API and Visual Studio 2019
Syed Shanu - Handling Access Tokens for private APIs in ASP.NET Core
Damien Bowden - Assembly version tag helper for ASP.NET Core
Gunnar Peipman
miércoles, 8 de mayo de 2019
La triscaidecafobia es el miedo irracional al número trece, muy asociado a supersticiones y creencias arraigadas en distintas épocas y culturas, como la egipcia, vikinga, el propio cristianismo, o incluso las órdenes templarias. Por contraposición, la triscaidecafilia sería justamente lo contrario: el gusto excesivo por todo lo relacionado con dicho número.
Y hasta aquí la píldora cultural del día, ahora vamos a lo importante :D
Y hasta aquí la píldora cultural del día, ahora vamos a lo importante :D
Publicado por José M. Aguilar a las 8:15 a. m.
Etiquetas: aniversario, autobombo, sponsored, variablenotfound
martes, 7 de mayo de 2019
Para los desarrolladores que hemos utilizado Entity Framework 6.x y anteriores durante años, lo normal es que al dar el salto a Entity Framework Core continuemos utilizando más o menos las mismas cosas que ya conocíamos, y muchas veces no nos detenemos a ver qué novedades interesantes acompañan al nuevo marco de trabajo.
Ya llevamos varios posts dedicados a comentar algunas características novedosas o que cambian bastante respecto a las versiones anteriores (como la evaluación en cliente o las shadow properties, y vamos a continuar en esta línea presentando ahora otra interesante novedad: el soporte para campos de respaldo o backing fields.
Ya llevamos varios posts dedicados a comentar algunas características novedosas o que cambian bastante respecto a las versiones anteriores (como la evaluación en cliente o las shadow properties, y vamos a continuar en esta línea presentando ahora otra interesante novedad: el soporte para campos de respaldo o backing fields.
lunes, 6 de mayo de 2019
Ahí van los enlaces recopilados durante la semana pasada. Espero que os resulten interesantes. :-)
Por si te lo perdiste...
- Problem Details: una forma estándar de retornar errores desde APIs HTTP (y cómo usarlo desde ASP.NET Core)
José María Aguilar - ¿ActionLink te genera direcciones que acaban en Length=N?
José María Aguilar
.NET / .NET Core
- MediatR 7.0.0 Released
Jimmy Bogard - Cómo crear operadores personalizados para clases propias en C#
Jorge Turrado - Serializing objects to URL encoded form data
Gunnar Peipman - Compare .NET Thread Class, Threadpool Class, BackgroundWorker Class and Task Parallel Library
Artemakis Artemiou - Lessons Learnt: Migrating From Net Framework to Net Core
Michael James - .NET Regex: \d is different from [0-9]
Gérald Barré - Performance Showdown of Producer/Consumer (Job Queues) Implementations in C# .NET
Michael Shpilt - .NET Core 3.0 SDK Projects: Controlling Output Folders and Content
Rick Strahl - PDF417 Barcode Decoder .NET Class Library and Two Demo Apps
Uzi Granot - Pattern Matching in C# 8.0
Filip Ekberg - Throwing Standard Exception Types in .NET
Peter Mbanugo - Async-Async: Consequences for parameters to parallel asynchronous calls & Async-Async: Consequences for exceptions
Raymond Chen
lunes, 29 de abril de 2019
Ahí va una edición bastante cargadita, con enlaces recopilados durante las dos últimas semanas. Como siempre, espero que os resulten interesantes. :-)
Por si te lo perdiste...
- 30 Leyes epónimas relacionadas con el desarrollo de software (I)
José María Aguilar - El filtro [ApiController] en ASP.NET Core MVC 2.1
José María Aguilar
.NET / .NET Core
- Announcing the .NET Framework 4.8
Namrata Karnam - Announcing .NET Core 3 Preview 4
Richard Lander - Upcoming Updates for .NET Framework 4.8
Brett Lopez - Introducing .NET for Apache® Spark™ Preview
Ankit Asthana - AutoMapper 8.1.0 Released
Jimmy Bogard - HTTP Live Streaming (HLS-VOD)
Shashangka Shekhar - Smooth Transactions with TransactionScope
Rion Williams - Commit Your Scripts
K. Scott Allen - Global State in C# Applications - Part 1
Yacoub Massad - Migrating Net Framework to Netcore
Chris F Carroll - Creating a Faster HashSet for .NET
Peter Devo - Implementing Indexers in C#
Peter Mbanugo - 6 Easy Ways to Export Data to Excel in C#
Johnson Manohar - Adventures in .NET Core SDK Installation: Missing SDKs and 32 bit vs 64 bit
Rick Strahl - ASCII Art in .NET Code
Matt Warren - Indices, Ranges, and Null-coalescing Assignments - A Look at New language features in C# 8
Matthias Koch - 7 Debugging Techniques for when your .NET application Freezes (hangs)
Michael Shpilt - First Steps in porting Markdown Monster WPF App to .NET Core 3.0
Rick Strahl - What types should I use to pass collections in C#?
Mark Heath - C# Operators: A Detailed Guide to All Of Them
Phil Vuollet - Writing to CSV-file from multiple threads
Gunnar Peipman - Multi-targetting .Net Framework and .Net Core in a single project
Chris F. Carroll - C# 8: Using statement
Olivier Giss - Explicit Interface Implementation with C#
Christian Nagel - Sharing Context in MediatR Pipelines
Jimmy Bogard - Pulling Objects from Web Services with ReadAsAsync
Peter Vogel - Creating Sample Data for C#
Bruno Sonnino - Using await using (IAsyncDisposable) with ConfigureAwait & Extravaganza using ConfigureAwait, await and await foreach
Jiří Činčura - Diferencias entre conversiones implícitas y explícitas en C# y cómo crear conversiones propias
Jorge Turrado