Sign in or Join FriendFeed
FriendFeed is the easiest way to share online. Learn more »
Istvan Novak

Istvan Novak

Istvan is a Visual Studio extensibility jock and a C# MVP from Hungary.
Custom RSS/Atom
Istvan Novak
EF Code First Cookbook — Recipe #5: Reading Master-Detail Information - http://dotneteers.net/blogs...
In the previous post (Recipe #4), you learned that Entity Framework Code First provides a simple way to create relationship between two entities. You have used the following definitions to describe the structure of Order and OrderDetail entities: [Table("Order")] public class Order { public int Id { get; set; } [MaxLength(128)] public string Customer { get; set; } public DateTime OrderDate { get; set; } public decimal Total { get; set; } [MaxLength(5)] [Column(TypeName = "varchar")] public string Status { get; set; } public IEnumerable<OrderDetail> Details { get; set; } } [Table("OrderDetail")] public class OrderDetail { public int Id { get; set; } public Order Order { get; set; } [MaxLength(64)] public string Product { get; set; } public int Amount { get; set; } public decimal UnitPrice { get; set; } } The relationship between these entities are described by the Details property of the Order class, and the Order property of OrderDetail class. Analyzing them, EF infers that there is a...
Istvan Novak
EF Code First Cookbook — Recipe #4: Adding Details to a Master Entity - http://dotneteers.net/blogs...
It is very seldom that your applications work only with a single entity represented by a single database table. Almost all applications use several entities with relationships among them — and these relationships are reflected in the database structure as well. In this post you will extend Recipe #2 into an application that manages not only simple orders, but also order details. Recipe #4: Creating Relationship between Orders and Order Details In Recipe #2 you used the following definition to describe the Order entity: [Table("Order")] public class Order { public int Id { get; set; } [MaxLength(128)] public string Customer { get; set; } public DateTime OrderDate { get; set; } public decimal Total { get; set; } [MaxLength(5)] [Column(TypeName = "varchar")] public string Status { get; set; } } To implement a scenario closer to the real world, you must represent order details as well. You also must establish a relationship between orders and their corresponding details. Ingredients...
Istvan Novak
EF Code First Cookbook — Recipe #3: Installing Tools to Manage and Trace SQL Server - http://dotneteers.net/blogs...
As you progress and cook applications from new EF Code First recipes, you will need to view and manage databases. While Visual Studio’s Server Explorer is great tool to have a look at the structure of your databases, it is definitely not the best to manage them. Also, an appropriate SQL profiler helps you understand how EF Code First things go on behind the scenes. A good cook knows the most useful tools if she wants to create quality feast. Before going on with more advanced recipes, in this post you will learn how to obtain the tools that help you cook more delicious goodies. Recipe #3: Install the Toolset to Manage and Trace Databases There are several tools you can utilize to manage your SQL Server databases. In this recipe you will install the two most important ones. Ingredients SQL Server 2008 R2 Express with Tools AnjLab SQL Profiler Preparations Generally, when you install Visual Studio 2010, SQL Server 2008 Express is also installed on your machine, unless you manually...
Istvan Novak
EF Code First Cookbook — Recipe #2: Add Some Spice to the Entity Definition - http://dotneteers.net/blogs...
In the previous post you created a single-table application that defined an Order class. Entity Framework used this class and created a database with an Orders table according to the structure of the Order class, and the application used this table through the OrderDatabaseContext class. The name, “Code First” comes from the behavior of Entity Framework: instead of creating a database model first, or connecting to an existing database, you can immediately write code that represents your data entities. The previous recipe’s application created an Orders table according to the following entity definition: public class Order { public int Id { get; set; } public string Customer { get; set; } public DateTime OrderDate { get; set; } public decimal Total { get; set; } public string Status { get; set; } } But what is the exact structure of the Orders table? Using the Server Explorer to connect to the database, you can take a look at the table structure, as shown in Figure 1. Figure 1: The...
Istvan Novak
EF Code First Cookbook — Recipe #1: Creating a Simple Code First Application - http://dotneteers.net/blogs...
In this new series of posts about Entity Framework I’d like to help those software developers who intend to use Entity Framework Code First in their projects ­­— either coding for business or fun. I assume no special prerequisites, but a basic experience with Visual Studio and the C# programming language. A good chef uses only quality ingredients. In this series you’re going to use only ingredients that provide delicious result, by means of simple, clear-cut and working sample applications. A great cooking book contains not only recipes, but also teaches you a few technique. So do the posts in this series. Beside concrete recipes you’ll learn several basic techniques. Unlike traditional gastronomy books, this one intends to explain you what’s going on during the cooking process during the background — in other words, you’ll learn about how things work in Entity Framework. Obtaining Quality Ingredients Before starting to deal with the first recipe, let’s set up our kitchen equipment....
Istvan Novak
Visual Studio LightSwitch 2011 RTM Launch Event on July 26 — With My New LightSwitch Book - http://dotneteers.net/blogs...
For a long time, it was officially not announced, when we can expect Visual Studio LightSwitch to be released. In a few days ago, Microsoft announced that the product is launching on July 26. In this announcement the new offical name of the product is mentioned as Visual Studio LightSwitch 2011. In a few weeks ago I completed my book ‘Beginning Microsoft Visual Studio LightSwitch Development’, and it will be published by Wrox. The book will be available by the LightSwitch launch event (even if the link above says, it is issued on August 2, 2011), and it will be printed in full color. There is no information when the product can be downloaded, and how it is priced. I assume, MSDN subscribers will be able to download it by the launch time, or even a few days before.
Istvan Novak
Beginning Visual Studio 2010 LightSwitch Development - http://dotneteers.net/blogs...
Since last September I work with Wiley (Wrox) on a new book titled Beginning Visual Studio 2010 LightSwitch Development. The job was interesting, because I managed to learn a lot of important details about LightSwitch. Of course, as the title of the book suggests, I focused on beginners, who do not have a deep programming background necessarily. Here is an extract from the Introduction to let you have an overview about the book. How This Book Is Structured This book is divided into three sections that will help you understand the concepts behind LightSwitch and become familiar with this great tool. The first part provides a quick overview that establishes the context of business application development, which will help you understand how LightSwitch responds to real-world challenges. In the second part, the numerous hands-on exercises will enable you to learn the main concepts as you create the sample application, while the third part introduces a few advanced topics that are also...
Istvan Novak
Visual Studio 2010 and .NET 4 Six-In-One Book is available to purchase - http://dotneteers.net/blogs...
Originally our book was scheduled to be published only in November, but now, it is available to purchase at Amazon: http://www.amazon.com/Visual-... Hopefully, you can buy this book not only here but in other Web book stores and in shops soon.
Istvan Novak
Preparing a Book about Visual Studio LightSwitch - http://dotneteers.net/blogs...
Visual Studio LightSwitch was announced about five weeks ago and now the Beta 1 is available. I have read many opinions, feedbacks about what the community thinks (believes) about Visual StudioLightSwitch, and also have played with the product. I like the product and see its role in the LOB application development projects (at least in the context of my customers). After completing the Visual Studio 2010 and .NET 4 Six-In-One book, Wrox asked me to create a proposal about a “Beginning Visual Studio LightSwitch” book. Now, I have an idea what this book should contain. Regularly, I plan to share you with some details from the book – and of course my experiences related to LightSwitch. Here let me share you a few impressions I have collected in since I started to play with Beta 1. What is Visual Studio LightSwitch? Visual Studio LightSwitch is a new member of the Visual Studio family. It is a Rapid Application Development (RAD) tool that aims to help writing data-centric line-of-business...
Istvan Novak
Visual Studio 2010 and .NET 4 Six-In-One book is close to the finish - http://dotneteers.net/blogs...
It the last 12 months we’ve been working hard to write our book titled “Visual Studio 2010" and .NET 4 Six-In-One”. The original idea came from Mitch Sellers who wanted to create a book that embraces six main topics and technologies related to the title of the book: Visual Studio 2010, .NET framework 4, ASP.NET 4, and of course the flagship .NET languages, Visual Basic, C# and F#. The authoring team is a real international one including authors from Argentina, Hungary, India and from US. With this post I proudly announce that the book is close to the finish, Wrox will publish it by November 1, 2010. Where can you buy the book? Wiley Amazon AllBookStores The authoring team (in the order of appearance on the front cover): István Novák (“DeepDiver” of Dotneteers.net) András Velvárt (“VBandi” of Dotneteers.net) Ádám Gránicz György Balássy Attila Hajdrik Mitchel Sellers Gaston C. Hillar Ágnes Molnár (“Aghy” of Dotneteers.net) Joydip Kanjilal Summary of Contents: Part I: Visual Studio This...
Istvan Novak
Microsoft Visual Studio LightSwitch Beta 1 is available for MSDN Subscribers - http://dotneteers.net/blogs...
If you are an MSDN subscriber, you do not have to wait by August 23, you can immediately download Visual Studio LightSwitch from MSDN. Click the Downloads and Product Keys link and select New Downloads | Visual Studio 2010. At the top of the list you will find LightSwitch Beta 1 (Both ISO and Web install). Happy downloading!
Istvan Novak
Joe Albahari about Threading in C# - http://dotneteers.net/blogs...
Joe recently published a free articles on the details of PLINQ + Task Parallel Library that is an extract from his book “C# 4.0 in a Nutshell”. You can find the article here. You can also download the full article in PDF format. Joe, congratulations to this great article!
Istvan Novak
It was a long time ago when I posted the last article of the LearnVSXNow! series, because I was busy with several projects including two books. In the recent days I have spent a lot of time examining the new Visual Studio 2010 editor from extensibility point of view. I needed to embed an editor into a tool window so that I can try how several components work there. I started from the EditorToolWindow sample posted by Chris Granger who is a PM in the Visual Studio Editor Team. This sample is great but did not show several things such as turning on or off read-only mode or creating a tool window where the editor is accompanied by several other controls. In this blog post I show you how you can solve these things. The editor window is designed so that it can be embedded into tool windows. Visual Studio itself uses the editor in several tool windows, for example, in the Output window and in Find Result windows. You can easily create your own tool windows embedding the editor, but it is...
Istvan Novak
VS 2010 Package Development – Chapter 2: Commands, Menus and Toolbars - http://dotneteers.net/blogs...
Here is the second chapter from my forthcoming book about Visual Studio 2010 Package Development. I hope, you will find this chapters as useful as the first one. Almost all packages are created to allow the user interact with through the corresponding user interface. This interaction generally means the user can click on a menu or toolbar item and activates a function of the package. From the user interface perspective it is pretty easy to imagine what a menu, a menu item or a toolbar is. Developers either creating Windows Forms or ASP.NET applications can understand these ideas and know their semantics. WFP developers even meet with the concept of command binding. Coming from the world of Windows Forms application programming, most developers put an equation sign between the menu item and the event handler for that item. Using the same approach for Visual Studio simply will not work: the model behind the IDE is more generic and from this aspect is more complex. In this chapter you’ll...
Istvan Novak
VS 2010 Package Development – Chapter 1: Visual Studio Packages - http://dotneteers.net/blogs...
I have spent a lot of time with preparing a book about Visual Studio Extensibility, focusing on Visual Studio Package Development. I have made proposals for several book publishers, but I did not manage to get a contract, most of them found such a book is not profitable. I decided to share the four chapters of the book that I’ve already written. They are the followings: Chapter 1: Visual Studio Packages Chapter 2: Commands, Menus and Toolbars Chapter 3: Window Management and Tool Windows Chapter 4: Services I hope, you will find these chapters useful. The majority of Visual Studio’s functions you use in your everyday work (such as programming languages, editors, designers and debuggers) are provided by Visual Studio Integration Packages, or shortly by packages. Some call them VSIP packages but the VSIP acronym is overloaded: while the first two letters means “Visual Studio” the last two may mean either “Integration Package” or “Industry Partner” and unfortunately both terms are...
Istvan Novak
VS 2010 and .NET 4 Six-In-One: My last chapter submitted today… - http://dotneteers.net/blogs...
A few weeks ago I shared the news with you that the Dotneteers team works on a book with an authoring team including other community members. Today I submitted my last (seventh) chapter dealing with the core enhancements of the .NET 4.0 Framework. The book is available on Amazon you can already preorder it. Visual Studio 2010 and .NET 4 Six-In-One will be published around Visual Studio 2010 launch time. Here is the short table of contents: Chapter 1: History of Visual Studio and Current Editions Chapter 2: VS UI Enhancements Chapter 3: Visual Studio Snippets Chapter 4: Visual Studio Templates Chapter 5: Getting the most out of the IDE Chapter 6: Extending Visual Studio Chapter 7: .NET Framework Version History Chapter 8: Window Presentation Foundation WPF Chapter 9: Windows Communication Foundation Chapter 10: Enhancements to the .NET Core Framework Chapter 11: Enhancements to the .NET Workflow Framework Chapter 12: Enhancements to the .NET Data Framework Chapter 13: Enhancements to...
Istvan Novak
PDC 2009 Keynote – Tuesday - http://dotneteers.net/blogs...
After 2008 Microsoft organized a PDC again without waiting for two or more years, as it usually happened in the past. Right now I’m setting here in the main auditorium of Los Angeles Convention Center and watching this years keynote. Well, people around my typing on their notebooks, writing their blogs or twitting about what they see and hear. Yesterday the first new thing happened, even before any official announcement, Microsoft Office 2010 Beta went to the MSDN Download Center. I’ve already started downloading it… A short summary about what kind of messages I’ve got during this keynote: Ray Ozzie, Chief Software Architect Windows Azure: One coherent model using Windows Server and System Center. Tools for developers: Windows Azure tools for Java and Eclipse, PHP application support Guest: Matt Mullenweg, Automaitc, manufacturer of WordPress: Now WordPress works on Azure (oddlyspecific.com as one example) Guest: Loic LeMear, Seesmic Created Silverlight prototype for a new Twitter...
Istvan Novak
Visual Studio 2010 Beta2: Nice logo with no accessibility respect? - http://dotneteers.net/blogs...
I really like the new sexy design of MSDN and Visual Studio, both colors and form. The new logo suggests me that now Visual Studio is not a tool that roughly integrates separate development assets but rather a really integrated and uniform development tool for .NET. There are places where the logo is very impressive and looks really great, let me show a few: However, the nice Möbius strip does not look nice on the Windows 7 taskbar: Compared to the light shape of the Visual Studio 2008 icon, the new one is modest, but the biggest issue is that you can hardly recognize it is there. The situation is a bit better when VS 2010 is started, the lighter background helps a bit: However, when you compare it to the VS 2008 icon, you can see, it is far away from being great and highlighted. I would not say that this logo intentionally is bad from accessibility point of view, I rather suspect, the designer (or anyone else) never tried it using over a dark background like the Windows 7 taskbar....
Istvan Novak
DevTools Ecosystem Summit: Best Practices for Extending the IDE with a Focus on Performance, Part 3 - http://dotneteers.net/blogs...
<Part 2 In the last section of my presentation I would like to show you common mistakes or pitfalls, and try to give you a few tips to cope with them. One of the most difficult issues to solve is when package load failures occur. The main reasons why these issues occur are generally exceptions in Initialize or Loading failure of a referenced assembly, generally because the assembly is not on the probing path of Visual Studio. This kind of errors are very annoying, because prevent any functions of our package working. Because packages are loaded on-demand by default, we can face package initialization issues unexpectedly. VS 2008 does not leverages on WPF technology. With VS 2010 you can compile packages using WPF tool windows successfully, but when you try to show them, their caption is visible but the client area does not show up. The Visual Studio Command Table files (.vsct) also can have traps you can walk into. You can easily write a VSCT that compiles well, but does not show up...
Istvan Novak
DevTools Ecosystem Summit: Deploying Visual Studio 2010 Extensions, Part 2 - http://dotneteers.net/blogs...
<Part1 [Quan] Istvan is now going to show you how to create an extension and how to publish it to the Visual Studio gallery. [Istvan] In this demo I will create a simple package with a Nice Tool Window. I have installed Visual Studio SDK on my machine, and now I create this package using a Visual Studio Package. I go to File|New|Project and select the Visual Studio Integration Package template to start a new project. I name my projects to NiceToolWindow and click OK. The VSPackage template launches the Visual Studio Integration Package Wizard with the following Welcome page: In the first page I declare that I want to create a C# package. The second page collects a few information about my package used for code generation and displaying branding information. I declare that I want to create only a Tool window this time: I specify the name for my tool window and set the ID to be used for the command showing up it. On the last wizard page I clear the checkboxes, because for this demo I do...
Istvan Novak
DevTools Ecosystem Summit: Deploying Visual Studio 2010 Extensions, Part 1 - http://dotneteers.net/blogs...
I had the opportunity to present at the DevTools Ecocsystem Summit held in Redmond between October 19 and 23. I had two presentations, the first with the title “Best Practices for Extending the IDE with a Focus on Performance”, and the second held in cooperation with Quan To with the title of “Deploying Visual Studio 2010 Extensions”. After the presentations I decided to blog the presentations in a transcript-like way including demos with source code and screenshots. This post is the first part of the “Extension Deployment” presentation held together with Quan. [Quan] Good Aftenoon! Welcome to the Deploying Visual Studio 2010 Extensions session! I’m Quan To, a program manager on the Visual Studio Platform team. My partner for this talk is Istvan Novak, one of our VSX MVPs and an expert in extending Visual Studio. I’ve spent 3 years as the Visual Studio Deployment Program Manager prior to joining the platform team and even though I know MSI pretty well, it’s still hard to deploy a VS...
Istvan Novak
DevTools Ecosystem Summit: Best Practices for Extending the IDE with a Focus on Performance, Part 1 - http://dotneteers.net/blogs...
I had the opportunity to present at the DevTools Ecocsystem Summit held in Redmond between October 19 and 23. I had two presentations, the first with the title “Best Practices for Extending the IDE with a Focus on Performance”, and the second held in cooperation with Quan To about VS 2010 extension deployment. After the presentations I decided to blog the presentations in a transcript-like way including demos with source code and screenshots. This post is the first part of my “Performance Focus” presentation. Good Afternoon! It is great to be here at the DevTools Ecosystem Summit! Welcome to this session, just right after the lunch. I hope you’ve drunk enough coffee… I’m Istvan Novak, a C# MVP and a VSX Insider from Hungary. I’ve spent a few years with deep diving into VSPackage development, and I would not say it is very easy, mainly because of the lack of documentation and lack of guidance. It the title of the session I used the expression „Focus on Performance”. Saying this I...
Istvan Novak
DevTools Ecosystem Summit: Best Practices for Extending the IDE with a Focus on Performance, Part 2 - http://dotneteers.net/blogs...
<Part 1 After treating and demonstrating why is it beneficial to turn to WPF, let’s see how extensions can target better performance. I’d be able to talk about performance topics so much that I could take over all the session slots left for today or even for tomorrow… Instead of treating each of them, I collected a bunch of tips that gives you ideas what you can do with performance issues or how you can avoid them. The key of providing a great performance can be described simply: Consume only the resources you really, really, really need. If possible, release unused resources and claim them when you need them again. This approach starts with loading your package only when that is required and not before. By default the VS shell loads packages on-demand when the first command, UI, service or other package owned objects are about to be used. However, you can change this behavior by either loading explicitly your package with the IVsShell.LoadPackage method, or adding the ProvideAutoLoad...
Istvan Novak
Have a look at the new design in Visual Studio 2010 - http://dotneteers.net/blogs...
I have just installed Visual Studio 2010 Ultimate Beta2. After starting it you face with the new design: Also try Extension Manager and New Project…
Istvan Novak
Visual Studio 2010 Beta2 is available for download - http://dotneteers.net/blogs...
If you have the appropriate MSDN Subscription, you can download Beta2 from now. From official announcement and some mode important dates, please look at Soma’s blog: http://blogs.msdn.com/somaseg.... It is also worth to have a look at to the new design of Visual Studio Gallery that illustrates the new “sexy” design of VS 2010: http://visualstudiogallery.msdn.microsoft.com. Download, install and enjoy!
Istvan Novak
My sessions on the DevTools Ecosystem Summit - http://dotneteers.net/blogs...
The DevTools Ecosystem Summit will be held between October 19 and 23 in the Microsoft Conference Center, Redmond. The first two days are open for users after free registration, the other days are organized only for VSIP partners and Inner Circle members. I will present two sessions on the conference: VSX 102: Deploying Visual Studio 2010 Extensions (together with Quan To): Due to the COM roots of Visual Studio and the lack of the right tool set deploying Visual Studio extension requires “creativity” from developers. Visual Studio 2010 is a great leap on this field with its brand new tools and technologies including Extension Manager, Visual Studio Gallery and VSIX. This presentation intends not only to overview of these tools but rather demonstrating how developers can leverage on the synergy of these tools to remove the deployment pain. VSX 202: Best Practices for Extending the IDE with a Focus on Performance: With Visual Studio 2010, creating extensions has never been easier! In...
Istvan Novak
LearnVSXNow! Part #45 – Understanding the Menu Merge Process - http://dotneteers.net/blogs...
Visual Studio extensibility developers know that VSPackages are load on-demand. The IDE loads a package when any of the commands, services, tool windows, document windows, designers, or whatsoever objects the package owns are about to be used. Even if our packages are not loaded, somehow they should indicate their presence: “Hey, here I am installed with Visual Studio… Just click on this button and I’ll be loaded by the shell to stand at your service”. Generally packages indicate their presence by inserting menu and toolbar items either into one of the main menus, standard toolbars or context menus. Assemblies of packages hold the information the IDE uses to indicate their presence. The dilemma is the following: If the package holds this information, they should be in the memory to extract the information to be displayed by the IDE. Well, this would totally prevent the frugality of the on-demand loading mechanism. Visual Studio solves this challenge with the following technique:...
Istvan Novak
Visual Studio 2010 and .NET 4.0 Book with Dotneteers - http://dotneteers.net/blogs...
It is a great thing to announce that Dotneteers are now involved in the authoring team of a new book with working title “Visual Studio 2010 and .NET 4.0 Six-in-One”. The book is to be published by Wrox in Q1 next year in a team work of ten, including well-known authors, Hungarian MVPs and community members. Here is the list of authors in alphabetical order: —  Balássy, György —  Gránicz, Ádám —  Hajdrik, Attila —  Hillar, Gaston —  Kanjilal, Joydip —  Molnár, Ágnes (OBA, Sharepoint and Aghy) —  Novák, István (DiveDeeper VSX) —  Sellers, Mitch —  Smulovics, Péter (My.Mountains[]) —  Velvárt, András (VBandi’s musings on WPF, Silverlight and UX) When we have any news and more information about the book, I will share those with you.
Istvan Novak
VS 2010 Beta1 Issues #3: Cancel Button in Extension Manager - http://dotneteers.net/blogs...
The new Extension Manager is a great piece of Visual Studio 2010, I like the UI (even if it has fuzzy font by default J), but I have found that it has a button name Cancel. I’d rather name this button Close, because it does not behave like Cancel in other places. For me, the name “cancel” suggest that by clicking it I can roll back any changes I have made on this dialog. When the Extension Manager appears on the screen, Cancel tells me this. When I click on Cancel, no changes are saved, and the dialog simply closes. However, when I make some changes, for example remove one of the installed extensions, I face with the following dialog: Here the Cancel button is a bit misleading, you may think you can undo the uninstall operation by clicking on it. It might be suspicious that clicking the Cancel button does not ask you a confirmation, but simply closes the dialog. Actually the message with the light yellow background tells you that “some extensions have been changed”, but it does not...
Istvan Novak
VS 2010 Beta1 Issues #2: Fuzzy Screenshots - http://dotneteers.net/blogs...
Working with Visual Studio 2010 Beta1 and finding out how things work there is really a fan, I enjoy doing it very much. I really like the new design and features coming from the fact that VS 2010 Shell—and of course the new editor—is based on WPF technology. I know there are some who criticize and argue the need to use WPF in the VS Shell, I do not belong among them. However, I really suffer from creating screenshots with VS 2010 Beta1, and I’m not able to create nice-looking ones. All the screen shots I’ve created are fuzzy on the screen and in my blog entries and they look even worse in printing. For a long time I have thought that something is not correct with my settings on Windows 7 RC1, but after looking into Jason Zanders’ blog, I have recognized that screenshots look so ugly even there. Let me show you a few samples. The first one is created with Visual Studio 2010 Beta1. The left part of the screenshot is taken from the Build menu in the main menu line, the right part is...
Other ways to read this feed:Feed readerFacebook