Practical .NEThttp://visualstudiomagazine.com/rss-feeds/practical-net.aspx
Keeping Your Next Developer JobYou don't need to worry about keeping your current job -- it will be gone, eventually. What you want to worry about is keeping your next job. That means developing the right skills to the right level for the package you intend to provide to employers.http://visualstudiomagazine.com/articles/2015/03/01/keeping-your-next-developer-job.aspx
Tue, 03 Mar 2015 08:00:00 GMThttp://visualstudiomagazine.com/articles/2015/03/01/keeping-your-next-developer-job.aspxCreating a Simple Collection ClassHere's the simplest possible code for creating a custom collection class in the Microsoft .NET Framework that includes support for For…Each loops, an indexer method and initializing collections with {…}. http://visualstudiomagazine.com/articles/2015/02/01/creating-a-simple-collection-class.aspx
Mon, 23 Feb 2015 08:00:00 GMThttp://visualstudiomagazine.com/articles/2015/02/01/creating-a-simple-collection-class.aspxManaging Your Skills Portfolio There's no right answer to "What technology should I learn next?" But there is a way to manage your skills to maximize the return you get from them. http://visualstudiomagazine.com/articles/2015/02/01/managing-your-skills-portfolio.aspx
Wed, 11 Feb 2015 19:25:00 GMThttp://visualstudiomagazine.com/articles/2015/02/01/managing-your-skills-portfolio.aspxDynamic Data Access with Plain Old SQL and SqlQueryYou don't have to give up using dynamic SQL just because you're using Entity Framework. The Entity Framework SqlQuery method will give you back the flexibility of dynamic SQL and still let you work with your data in an object-oriented way.http://visualstudiomagazine.com/articles/2015/02/01/dynamic-data-access.aspx
Tue, 03 Feb 2015 17:54:00 GMThttp://visualstudiomagazine.com/articles/2015/02/01/dynamic-data-access.aspxTake Control of Exceptions with a Custom Exception ObjectIf you really want to take full control of the exceptions you pass to your clients, you can write your own Exception class. Here's how to do that, complete with support for additional properties.http://visualstudiomagazine.com/articles/2015/01/01/take-control-of-exceptions.aspx
Mon, 26 Jan 2015 08:00:00 GMThttp://visualstudiomagazine.com/articles/2015/01/01/take-control-of-exceptions.aspxManaging Complex Web RequestsA complex ASP.NET MVC form can drive you to a big, ugly action method that handles all the functionality the page offers. The ActionMethodSelector provides a clean way to separate that logic over multiple methods, provided you understand a key distinction of which many ASP.NET MVC developers aren't aware.http://visualstudiomagazine.com/articles/2015/01/01/managing-complex-web-requests.aspx
Mon, 19 Jan 2015 08:00:00 GMThttp://visualstudiomagazine.com/articles/2015/01/01/managing-complex-web-requests.aspxCreating Complex XML Documents with XML LiteralsIf you're creating an XML document and want to write code that you'll actually be able to maintain … well, it may be time to learn a little Visual Basic, just so you can use XML Literals. It's a good solution even for C# shops.http://visualstudiomagazine.com/articles/2014/12/01/creating-complex-xml-documents.aspx
Wed, 07 Jan 2015 08:00:00 GMThttp://visualstudiomagazine.com/articles/2014/12/01/creating-complex-xml-documents.aspxLeveraging a Visual Studio Database ProjectPeter shows how a Visual Studio database project can make you more productive when making changes to your database. But a database project also gives you a variety of tools to let you keep track of what those changes are -- which will make moving those changes to your production environment considerably safer.http://visualstudiomagazine.com/articles/2015/01/01/visual-studio-database-project.aspx
Thu, 01 Jan 2015 08:00:00 GMThttp://visualstudiomagazine.com/articles/2015/01/01/visual-studio-database-project.aspxIn Praise of the Maintenance ProgrammerThe developers building new applications are very nice people, of course. But the real heroes of the programming world are the developers maintaining and extending existing applications.http://visualstudiomagazine.com/articles/2014/12/01/in-praise-of-the-maintenance-programmer.aspx
Tue, 16 Dec 2014 08:00:00 GMThttp://visualstudiomagazine.com/articles/2014/12/01/in-praise-of-the-maintenance-programmer.aspxSimplifying Development with Visual Studio Database ProjectsPeter learns something by listening to readers: Visual Studio database projects provide a great environment for making changes to your databases. Here's a brief introduction about how they'll make life easier for you and all the steps for setting one up.http://visualstudiomagazine.com/articles/2014/12/01/visual-studio-database-projects.aspx
Wed, 10 Dec 2014 08:00:00 GMThttp://visualstudiomagazine.com/articles/2014/12/01/visual-studio-database-projects.aspxPerforming Multiple Actions from a Single ASP.NET MVC FormPeter responds to a question: How, in an ASP.NET MVC form, can the user be given two submit Buttons that do two different things?http://visualstudiomagazine.com/articles/2014/11/01/performing-multiple-actions.aspx
Wed, 19 Nov 2014 08:00:00 GMThttp://visualstudiomagazine.com/articles/2014/11/01/performing-multiple-actions.aspxLeveraging Reactive Extensions for Asynchronous ProcessingReactive Extensions will let you catch interim results from a long running process. Coupled with the Microsoft .NET Framework 4.5 support for asynchronous processing, you don't even have to lock up your client while you process those results.http://visualstudiomagazine.com/articles/2014/11/01/leveraging-reactive-extensions.aspx
Mon, 17 Nov 2014 08:00:00 GMThttp://visualstudiomagazine.com/articles/2014/11/01/leveraging-reactive-extensions.aspxThe Myth of Responsive DesignPeter explains why he doesn't believe in "responsive designs" that allow a single application to work in both the desktop and mobile environments.http://visualstudiomagazine.com/articles/2014/11/01/responsive-design.aspx
Sat, 01 Nov 2014 08:00:00 GMThttp://visualstudiomagazine.com/articles/2014/11/01/responsive-design.aspxWriting Cleaner Code with Reactive ExtensionsWhen you have a process that can return multiple results over time, then .NET Framework Reactive Extensions will let you simplify your code and manage it better.http://visualstudiomagazine.com/articles/2014/10/01/writing-cleaner-code-with-reactive-extensions.aspx
Tue, 21 Oct 2014 08:00:00 GMThttp://visualstudiomagazine.com/articles/2014/10/01/writing-cleaner-code-with-reactive-extensions.aspxBuilding a Useful HTML Helper for ASP.NET MVC ViewsCreating a full-featured extension for the ASP.NET MVC HtmlHelper class sounds like a lot of work. But, because of the way the Microsoft .NET Framework works, it's almost trivially easy. To show that, here's an EditBlockFor method that adds a label, a textbox and a validation message to your ASP.NET View.http://visualstudiomagazine.com/articles/2014/10/01/building-a-useful-html-helper.aspx
Tue, 14 Oct 2014 08:00:00 GMThttp://visualstudiomagazine.com/articles/2014/10/01/building-a-useful-html-helper.aspxvNext: What's in It for You?Here's a grab bag of what you might find useful in the next version of the .NET Framework. It's good news for everyone but ASP.NET Web Form developers.http://visualstudiomagazine.com/articles/2014/10/01/vnext.aspx
Wed, 08 Oct 2014 08:00:00 GMThttp://visualstudiomagazine.com/articles/2014/10/01/vnext.aspxSplitting Tables To Improve Performance: A Designer-Based SolutionPeter returns to improve performance by splitting a single table into multiple entities, but this time, he implements his solution using the Entity Framework 6 designer.http://visualstudiomagazine.com/articles/2014/09/01/splitting-tables-to-improve-performance.aspx
Mon, 22 Sep 2014 08:00:00 GMThttp://visualstudiomagazine.com/articles/2014/09/01/splitting-tables-to-improve-performance.aspxSplitting Tables in Entity Framework 6 to Improve PerformanceThere are some occasions when using Entity Framework can really hurt you: When you have tables with hundreds of columns or tables with large payloads. Here's how to get EF6 to do the right thing.http://visualstudiomagazine.com/articles/2014/09/01/splitting-tables.aspx
Wed, 17 Sep 2014 08:00:00 GMThttp://visualstudiomagazine.com/articles/2014/09/01/splitting-tables.aspxThe Sociology of Application Security: Less Can Be MoreThe critical part of security isn't your code; it's the people using your applications. Because of that, increasing your security often makes your applications less secure.http://visualstudiomagazine.com/articles/2014/09/01/application-security.aspx
Mon, 08 Sep 2014 08:00:00 GMThttp://visualstudiomagazine.com/articles/2014/09/01/application-security.aspxManaging Transactions in Entity Framework 6Here's an article about managing transactions that you don't need to read because, with one exception, Entity Framework will do the right thing by default. But, in the .NET Framework 4 and later, you can do more (if you ever need to).http://visualstudiomagazine.com/articles/2014/08/01/managing-transactions.aspx
Mon, 25 Aug 2014 08:00:00 GMThttp://visualstudiomagazine.com/articles/2014/08/01/managing-transactions.aspxHow To Manage Asynchronous Tasks Using the Task ObjectYou want the responsiveness that asynchronous programming in the Microsoft .NET Framework 4 provides, but also need your asynchronous methods to work with other code in your application. Here's how the Task object answers all of your problems.http://visualstudiomagazine.com/articles/2014/08/01/manage-asynchronous-tasks.aspx
Wed, 13 Aug 2014 18:39:00 GMThttp://visualstudiomagazine.com/articles/2014/08/01/manage-asynchronous-tasks.aspxLeveraging Interfaces and Extension Methods To Extend Your ClassesExtension methods provide a great way for extending a class functionality -- but it's interfaces that let you use those methods anywhere you want.http://visualstudiomagazine.com/articles/2014/08/01/leveraging-interfaces.aspx
Fri, 08 Aug 2014 08:00:00 GMThttp://visualstudiomagazine.com/articles/2014/08/01/leveraging-interfaces.aspxThe Last Step in UI Design: Scripting InteractionAn interaction script bridges the gap between designing concepts and actually adding controls to forms. The interaction script will tell you what your application needs to do, leading you (finally) to what controls you need on which forms.http://visualstudiomagazine.com/articles/2014/07/01/scripting-interaction.aspx
Thu, 24 Jul 2014 17:45:00 GMThttp://visualstudiomagazine.com/articles/2014/07/01/scripting-interaction.aspxLeveraging User Mental Models To Create Effective User InterfacesThe principles of great UI design start from a different place than the principles that lead to great application design. They both end up in exactly the same place, though.http://visualstudiomagazine.com/articles/2014/07/01/leveraging-user-mental-models.aspx
Fri, 18 Jul 2014 08:00:00 GMThttp://visualstudiomagazine.com/articles/2014/07/01/leveraging-user-mental-models.aspxBridging the User Interface Design GapThe best thing you can do in order to create a great UI is to stop thinking about UI design.http://visualstudiomagazine.com/articles/2014/07/01/bridging-the-user-interface-design-gap.aspx
Tue, 15 Jul 2014 08:00:00 GMThttp://visualstudiomagazine.com/articles/2014/07/01/bridging-the-user-interface-design-gap.aspxTest-Driven Development with Entity Framework 6You can completely disconnect your test code from your database with Entity Framework 6 in .NET and Visual Studio. You just need a little bit of custom code for your application, along with some boilerplate code.http://visualstudiomagazine.com/articles/2014/06/01/test-driven-development.aspx
Fri, 27 Jun 2014 07:30:00 GMThttp://visualstudiomagazine.com/articles/2014/06/01/test-driven-development.aspxShedding Tiers: Stop Thinking in Terms of LayersThinking in terms of layers or tiers really isn't much help to you. Stop doing it: The single responsibility principle and design patterns are all you really need.http://visualstudiomagazine.com/articles/2014/06/01/shedding-tiers.aspx
Fri, 13 Jun 2014 07:30:00 GMThttp://visualstudiomagazine.com/articles/2014/06/01/shedding-tiers.aspxHow To Simplify Asynchronous Programming with Await and AsyncPrune your Entity Framework with the help of asynchronous methods.http://visualstudiomagazine.com/articles/2014/06/01/how-to-simplify-asynchronous-programming.aspx
Sat, 07 Jun 2014 07:30:00 GMThttp://visualstudiomagazine.com/articles/2014/06/01/how-to-simplify-asynchronous-programming.aspxCapturing Results from Stored Procedures with Entity Framework 6Entity Framework 6 gives you a variety of ways to call stored procedures that return data and capture the results those procedures return. Here's a look at all of them.http://visualstudiomagazine.com/articles/2014/05/01/capturing-results-from-stored-procedures-with-entity-framework-6.aspx
Fri, 30 May 2014 17:42:00 GMThttp://visualstudiomagazine.com/articles/2014/05/01/capturing-results-from-stored-procedures-with-entity-framework-6.aspxMoving Data to the Form in Windows FormsWhen you implement the Model-View-ViewModel pattern you need to tell your View (in this case, a Windows Form) when the ViewModel has new data. Here's how to do that, along with a warning about how to avoid a potential bug.http://visualstudiomagazine.com/articles/2014/05/01/moving-data-to-the-form-in-windows-forms.aspx
Fri, 23 May 2014 16:12:00 GMThttp://visualstudiomagazine.com/articles/2014/05/01/moving-data-to-the-form-in-windows-forms.aspxSeparating the UI Code from the Business Code: What's Reasonable?Peter Vogel moves a Windows Form to a modern design pattern, which forces him to think about how his code should be divided up among his classes. In the end, he comes up with some rules for making those decisions.http://visualstudiomagazine.com/articles/2014/05/01/separating-the-ui-code-from-the-business-code.aspx
Tue, 06 May 2014 07:30:00 GMThttp://visualstudiomagazine.com/articles/2014/05/01/separating-the-ui-code-from-the-business-code.aspxCalling Stored Procedures from Entity FrameworkEven in a Code First environment, you can call a stored procedure from a DbContext object. But it's a lot easier if you use the visual designer.http://visualstudiomagazine.com/articles/2014/04/01/calling-stored-procedures-from-entity-framework.aspx
Wed, 30 Apr 2014 07:30:00 GMThttp://visualstudiomagazine.com/articles/2014/04/01/calling-stored-procedures-from-entity-framework.aspxMaking Complex Types Useful with Entity Framework 6 Custom ConfigurationsComplex Types let you reuse structures in your database design. But unless you've been very lucky around the names in your database, you probably couldn't use Complex Types -- until Entity Framework 6, that is.http://visualstudiomagazine.com/articles/2014/04/01/making-complex-types-useful.aspx
Sat, 19 Apr 2014 07:30:00 GMThttp://visualstudiomagazine.com/articles/2014/04/01/making-complex-types-useful.aspxAsync Processing in EF6 and the Microsoft .NET Framework 4.5The latest version of Entity Framework makes it easier to write asynchronous code. Here's how to write that code, and more important, where you'll actually find it useful.http://visualstudiomagazine.com/articles/2014/04/01/async-processing.aspx
Fri, 11 Apr 2014 07:30:00 GMThttp://visualstudiomagazine.com/articles/2014/04/01/async-processing.aspxWhat's New in Entity Framework 6 (Plus How To Upgrade!)The latest version of the technology works fine with the Microsoft .NET Framework 4 and Visual Studio 2010. Here's some of what's new (along with how to move your applications to EF6).http://visualstudiomagazine.com/articles/2014/03/01/whats-new-in-entity-framework-6.aspx
Wed, 02 Apr 2014 07:30:00 GMThttp://visualstudiomagazine.com/articles/2014/03/01/whats-new-in-entity-framework-6.aspxAsynchronous MSMQ ProcessingPeter wraps up his look at offloading processing from the mainline of your application in order to improve response time by looking at processing message queues asynchronously.http://visualstudiomagazine.com/articles/2014/03/01/asynchronous-msmq-processing.aspx
Tue, 25 Mar 2014 15:28:00 GMThttp://visualstudiomagazine.com/articles/2014/03/01/asynchronous-msmq-processing.aspxA Constant IssueDefining constants in your application is a good thing. But if you understand constants you can also decide when you don't need to use them, how to name them, when to set up exceptions to your names and -- the best thing -- when to replace them with parameters.http://visualstudiomagazine.com/articles/2014/03/01/a-constant-issue.aspx
Wed, 12 Mar 2014 07:00:00 GMThttp://visualstudiomagazine.com/articles/2014/03/01/a-constant-issue.aspx