<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-US"><title type="html">Tool Time</title><subtitle type="html">A place to chat about Entity Framework Tools</subtitle><id>http://blogs.msdn.com/craigl/atom.xml</id><link rel="alternate" type="text/html" href="http://blogs.msdn.com/craigl/default.aspx" /><link rel="self" type="application/atom+xml" href="http://blogs.msdn.com/craigl/atom.xml" /><generator uri="http://communityserver.org" version="2.1.61025.2">Community Server</generator><updated>2009-05-20T20:36:00Z</updated><entry><title>The ADO.NET Entity Data Model Designer Extension Starter Kit</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/craigl/archive/2009/11/19/the-ado-net-entity-data-model-designer-extension-starter-kit.aspx" /><id>http://blogs.msdn.com/craigl/archive/2009/11/19/the-ado-net-entity-data-model-designer-extension-starter-kit.aspx</id><published>2009-11-19T17:26:00Z</published><updated>2009-11-19T17:26:00Z</updated><content type="html">&lt;P&gt;The Entity Designer in VS 2010 has a number of new extensibility points.&amp;nbsp; If you are interested in writing extensions for the designer, you should definitely check out the &lt;A href="http://code.msdn.microsoft.com/DesignerExtStartKit" mce_href="http://code.msdn.microsoft.com/DesignerExtStartKit"&gt;ADO.NET Entity Data Model Designer Extension Starter Kit&lt;/A&gt;&amp;nbsp;over on Code Gallery.&lt;/P&gt;
&lt;P&gt;When you download the starter kit, you will be downloading a VSIX file.&amp;nbsp; Save this to your PC&amp;nbsp;and then double-click on it to&amp;nbsp;install a new project template.&amp;nbsp; Open VS 2010 and choose to create new project based on this template.&lt;/P&gt;
&lt;P&gt;There are a number of stub classes that get dropped into the project by default that you can either embrace and extend, or just use as references when adding your own classes.&amp;nbsp; The project itself has some nice tools to make your life easier, such as integration with the build process to automatically create a VSIX from your project.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9925599" width="1" height="1"&gt;</content><author><name>CraigL</name><uri>http://blogs.msdn.com/members/CraigL.aspx</uri></author><category term="Entity Designer" scheme="http://blogs.msdn.com/craigl/archive/tags/Entity+Designer/default.aspx" /><category term="Entity Framework" scheme="http://blogs.msdn.com/craigl/archive/tags/Entity+Framework/default.aspx" /></entry><entry><title>New Open Data Protocol Visualizer</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/craigl/archive/2009/11/18/new-open-data-protocol-visualizer.aspx" /><id>http://blogs.msdn.com/craigl/archive/2009/11/18/new-open-data-protocol-visualizer.aspx</id><published>2009-11-18T17:27:00Z</published><updated>2009-11-18T17:27:00Z</updated><content type="html">&lt;P&gt;Yesterday, we announced the availability of the &lt;A href="http://blogs.msdn.com/astoriateam/archive/2009/11/17/introducing-the-microsoft-open-data-protocol-visualizer.aspx" mce_href="http://blogs.msdn.com/astoriateam/archive/2009/11/17/introducing-the-microsoft-open-data-protocol-visualizer.aspx"&gt;Open Data Protocol Visualizer&lt;/A&gt;.&amp;nbsp; This installs from the Visual Studio Gallery and provides visualization for any WCF Data Service (a.k.a. ADO.NET Data Services, a.k.a. Astoria).&lt;/P&gt;
&lt;P&gt;This is an exciting release for the Data Tools team!&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9924404" width="1" height="1"&gt;</content><author><name>CraigL</name><uri>http://blogs.msdn.com/members/CraigL.aspx</uri></author><category term="Productivity" scheme="http://blogs.msdn.com/craigl/archive/tags/Productivity/default.aspx" /><category term="Astoria" scheme="http://blogs.msdn.com/craigl/archive/tags/Astoria/default.aspx" /><category term="OData" scheme="http://blogs.msdn.com/craigl/archive/tags/OData/default.aspx" /></entry><entry><title>Model &amp; Code Generation Uncovered</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/craigl/archive/2009/06/10/model-code-generation-uncovered.aspx" /><id>http://blogs.msdn.com/craigl/archive/2009/06/10/model-code-generation-uncovered.aspx</id><published>2009-06-10T21:57:00Z</published><updated>2009-06-10T21:57:00Z</updated><content type="html">&lt;P&gt;Last summer, the senior developer on the Entity Designer team (Mike Kaufman) wrote a series of blog posts over on the ADO.NET team blog about how the designer uses the public APIs found in System.Data.Entity.Design.dll to do its model generation and code generation.&amp;nbsp; He writes about the file formats used by the designer and the runtime, explains how EdmGen.exe uses these same APIs and talks about a project that he has on Code Gallery (EdmGen2) that is able to read and write EDMX files.&lt;/P&gt;
&lt;P&gt;These are worth a read if you haven't seen them yet.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A class="" title="Part 1" href="http://blogs.msdn.com/adonet/archive/2008/06/20/edm-tools-options-part-1-of-4.aspx" mce_href="http://blogs.msdn.com/adonet/archive/2008/06/20/edm-tools-options-part-1-of-4.aspx"&gt;Part 1&lt;/A&gt;&amp;nbsp;: Discussion on the file formats&lt;/LI&gt;
&lt;LI&gt;&lt;A class="" title="Part 2" href="http://blogs.msdn.com/adonet/archive/2008/06/20/edm-tools-options-part-2-of-4.aspx" mce_href="http://blogs.msdn.com/adonet/archive/2008/06/20/edm-tools-options-part-2-of-4.aspx"&gt;Part 2&lt;/A&gt; : Model and code generation&lt;/LI&gt;
&lt;LI&gt;&lt;A class="" title="Part 3" href="http://blogs.msdn.com/adonet/archive/2008/06/26/edm-tools-options-part-3-of-4.aspx" mce_href="http://blogs.msdn.com/adonet/archive/2008/06/26/edm-tools-options-part-3-of-4.aspx"&gt;Part 3&lt;/A&gt; : Validation&lt;/LI&gt;
&lt;LI&gt;&lt;A class="" title="Part 4" href="http://blogs.msdn.com/adonet/archive/2008/07/14/edm-tools-options-part-4-of-4.aspx" mce_href="http://blogs.msdn.com/adonet/archive/2008/07/14/edm-tools-options-part-4-of-4.aspx"&gt;Part 4&lt;/A&gt; : Details on Mike's comand-line tool, EdmGen2&lt;/LI&gt;&lt;/UL&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9724811" width="1" height="1"&gt;</content><author><name>CraigL</name><uri>http://blogs.msdn.com/members/CraigL.aspx</uri></author><category term="Entity Designer" scheme="http://blogs.msdn.com/craigl/archive/tags/Entity+Designer/default.aspx" /><category term="Entity Framework" scheme="http://blogs.msdn.com/craigl/archive/tags/Entity+Framework/default.aspx" /><category term="Command Line" scheme="http://blogs.msdn.com/craigl/archive/tags/Command+Line/default.aspx" /><category term="EF Runtime API" scheme="http://blogs.msdn.com/craigl/archive/tags/EF+Runtime+API/default.aspx" /></entry><entry><title>Keyboarding in the Entity Designer</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/craigl/archive/2009/05/21/keyboarding-in-the-entity-designer.aspx" /><id>http://blogs.msdn.com/craigl/archive/2009/05/21/keyboarding-in-the-entity-designer.aspx</id><published>2009-05-21T19:21:00Z</published><updated>2009-05-21T19:21:00Z</updated><content type="html">&lt;P&gt;I have heard quite a few folks ask questions about how to use their keyboard more when using the Entity Designer.&amp;nbsp; Many people can be more productive if they are able to use more of the keyboard (reduce mouse clicks).&amp;nbsp; Fortunately, Visual Studio has ways to make keyboarding easier.&amp;nbsp; In addition, the Entity Designer has its own built-in keyboarding support.&amp;nbsp; Finally, the DSL Toolkit (the component that provides the boxes-and-lines Entity canvas) also has built-in keyboarding support.&lt;/P&gt;
&lt;P&gt;Let's start with the DSL Toolkit.&amp;nbsp; This component has a number of nice &lt;A title="keyboarding options" href="https://blogs.msdn.com/garethj/archive/2005/11/16/keyboardshortcuts.aspx" mce_href="https://blogs.msdn.com/garethj/archive/2005/11/16/keyboardshortcuts.aspx"&gt;keyboarding options&lt;/A&gt; discussed by Garethj over on his blog.&amp;nbsp; These keyboard shortcuts can be used when the Entity canvas is currently selected.&amp;nbsp; I will make note of one in particular which is the INS key.&amp;nbsp; If you select either the "Scalar Properties" compartment header, or a Property itself and hit the INS key, it will add a new Property to the Entity.&lt;/P&gt;
&lt;P&gt;Next,&amp;nbsp;let's cover VS keyboarding.&amp;nbsp; Each&amp;nbsp;menu item in every&amp;nbsp;Entity Designer context menu is treated as a Visual Studio "command" and you can assign your own keyboard shortcut to it.&amp;nbsp; Just click on the Tools menu, then Options.&amp;nbsp; Under Environment, choose Keyboard.&amp;nbsp; Scroll down the list in the middle until you see "OtherContextMenus.MicrosoftDataEntityDesignContext".&amp;nbsp; Here you will see the list of commands that you can create keyboard shortcuts to.&amp;nbsp; Let's map some keystrokes for creating a new entity and a new scalar property.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Select OtherContextMenus.MicrosoftDataEntityDesignContext.Add.Entity&lt;/LI&gt;
&lt;UL&gt;
&lt;LI&gt;Place your cursor into the "Press shortcut keys" text box&lt;/LI&gt;
&lt;LI&gt;Type, Ctrl-E twice&lt;/LI&gt;
&lt;LI&gt;Click Assign&lt;/LI&gt;&lt;/UL&gt;
&lt;LI&gt;Select OtherContextMenus.MicrosoftDataEntityDesignContext.Add.ScalarProperty&lt;/LI&gt;
&lt;UL&gt;
&lt;LI&gt;Place your cursor into the "Press shortcut keys" text box&lt;/LI&gt;
&lt;LI&gt;Type, Ctrl-E then Ctrl-P&lt;/LI&gt;
&lt;LI&gt;Click Assign&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;
&lt;P&gt;Now, open up a blank EDMX model.&amp;nbsp; Type Ctrl-E, Ctrl-E and you should see the New Entity dialog.&amp;nbsp; Type the Enter key to accept.&amp;nbsp; Now, type "&amp;gt;" to move into the shape (using hints from Gareth's post above).&amp;nbsp; Type Ctrl-E, Ctrl-P to add a new scalar property.&amp;nbsp; You can expand on this, defining the keyboard shortcuts that make the most sense to you and that help you be productive.&lt;/P&gt;
&lt;P&gt;Finally, the Entity Designer has some custom keyboarding defined in the Mapping Details window.&amp;nbsp; To try this out, open an EDMX file that has a number of entities and mappings (or quickly reverse engineer a model from your database).&amp;nbsp; Use this sequence to change focus to the Mapping Details window:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Type the Home key&lt;/LI&gt;
&lt;LI&gt;Type the Tab key to move through the entities until you find the one you want to edit mappings for&lt;/LI&gt;
&lt;LI&gt;Type the Context Menu key, then type "M" to use the keyboard accelerator to show the Mapping Details window (if you keyboard doesn't have the special &lt;A title="context menu key" href="http://en.wikipedia.org/wiki/Menu_key" mce_href="http://en.wikipedia.org/wiki/Menu_key"&gt;context menu key&lt;/A&gt;, then you can use the technique above to create a new shortcut for that command)&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Now that the Mapping Details window is shown, hitting Tab will switch between the main window area and the toolbar on the left:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;If you have the toolbar highlighted, you can use the arrow keys to move between the buttons and the Enter or Space&amp;nbsp;key to select one&lt;/LI&gt;
&lt;LI&gt;If you are in the main window area&lt;/LI&gt;
&lt;UL&gt;
&lt;LI&gt;Use your arrow keys to move up and down the rows, or right and left across the columns&lt;/LI&gt;
&lt;LI&gt;If you have a cell selected that has a drop down list, hit Alt-[Down Arrow] to drop down the list&lt;/LI&gt;
&lt;LI&gt;Once a list is show, use the arrow keys to scroll up and down, Enter to select or Esc to cancel&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;
&lt;P&gt;Happy keyboarding!&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9634340" width="1" height="1"&gt;</content><author><name>CraigL</name><uri>http://blogs.msdn.com/members/CraigL.aspx</uri></author><category term="Entity Designer" scheme="http://blogs.msdn.com/craigl/archive/tags/Entity+Designer/default.aspx" /><category term="Keyboarding" scheme="http://blogs.msdn.com/craigl/archive/tags/Keyboarding/default.aspx" /><category term="Productivity" scheme="http://blogs.msdn.com/craigl/archive/tags/Productivity/default.aspx" /></entry><entry><title>First Post</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/craigl/archive/2009/05/20/first-post.aspx" /><id>http://blogs.msdn.com/craigl/archive/2009/05/20/first-post.aspx</id><published>2009-05-20T22:36:00Z</published><updated>2009-05-20T22:36:00Z</updated><content type="html">&lt;P&gt;Starting a new blog today, hoping to spend some time talking about Entity Framework Tooling and other topics.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9632752" width="1" height="1"&gt;</content><author><name>CraigL</name><uri>http://blogs.msdn.com/members/CraigL.aspx</uri></author></entry></feed>