Windows Presentation Foundation Using C# (VS 2013)

Total Page:16

File Type:pdf, Size:1020Kb

Windows Presentation Foundation Using C# (VS 2013) Windows Presentation Foundation Using C#® (VS 2013) This course introduces Windows Presentation Foundation or WPF, the .NET technology from Microsoft for building rich Windows applications. It was originally part of .NET 3.0, previously called “WinFX” by Microsoft. WPF includes an XML-based markup language for defining program elements, Extensible Application Markup Language (XAML). WPF applications can be created using only code or a combination of code and XAML pages. This course covers the essentials of WPF, providing an orientation to this technology and a firm foundation for creating applications. The course is current to .NET 4.5.1 and Visual Studio 2013. WPF is a complex technology that can have a steep learning curve. This course approaches the subject in a practical manner, introducing the student to the fundamentals of creating Windows applications using the features of WPF. It includes coverage of both traditional concepts such as controls and new concepts such as XAML, flexible layout, logical resources, dependency properties, routed events, and the loosely-coupled command architecture of WPF. Data binding is discussed in detail, including visual data binding using Visual Studio 2013 and accessing databases using Entity Framework 6. Course Objectives: Gain an understanding of the philosophy and architecture of WPF. Create Windows applications using the classes provided by WPF. Understand the principles of XAML and create applications using a combination of code and XAML. Use the layout features of WPF to create flexible and attractive user interfaces. Implement event and command-driven applications with windows, menus, dialogs, toolbars, and other common user interface features. Use more advanced features of WPF such as dependency properties, routed events, logical resources, styles, templates, and data binding. Access databases using Visual Studio 2013 and the Entity Framework. Learn how to interoperate between WPF and Windows Forms Audience: NET programmers who want to be able to create rich Windows applications. Prerequisites: A working knowledge of C# and the .NET Framework. Number of Days: 4 days 1 Introduction to WPF XAML History of Microsoft GUI Controls Why WPF? Data Binding When Should I Use WPF? Appearance WPF and .NET Framework 3.0 Layout and Panels .NET Framework 4.0/4.5.1 Graphics Visual Studio 2013 Media Visual Studio Express 2013 Documents and Printing Target Framework Plan of Course WPF Core Types and Infrastructures Application and Window © Batky-Howell, LLC 1 Windows Presentation Foundation Using C# (VS 2013) Creating a Button TextBox Providing an Event Handler Initializing the TextBox Specifying Initial Input Focus Clipboard Support Complete First Program Items Controls Device-Independent Pixels Selector Controls Class Hierarchy Using a ListBox Content Property Multiple-Selection ListBox Simple Brushes Selected Items Panels Using the ComboBox Children of Panels Storing Objects in List Controls TwoControls – Code Collection Items in XAML Automatic Sizing 4 Layout 2 XAML Layout in WPF What is XAML? Controlling Size: Review Default Namespace Margin and Padding: Review XAML Language Namespace Thickness Structure: Review .NET Class and Namespace SizeDemo Program Elements and Attributes Top Panel XAML in Visual Studio 2013 Content Property Adding an Event Handler XAML vs. Code Layout in WPF Type Converter Controlling Size Alignment Margin and Padding Alignment inside a Stack Panel Thickness Structure Vertical Alignment Children of Panels Horizontal Alignment TwoControls – XAML Vertical Alignment in a Window Automatic Sizing Content Alignment TwoControls – Code FlowDirection Orientation Transforms Access Keys Panels Access Keys in XAML Shapes Content Property Size and Position Checked and Unchecked Events Attached Properties Property Element Syntax StackPanel Type Converters Children of StackPanel 3 WPF Controls WrapPanel Buttons in WPF DockPanel Using the Button Class Grid Toggle Buttons Using the Collections Editor IsThreeState Star Sizing CheckBox Grid ColumnSpan CheckBox Code Scrolling ToolTip Scaling RadioButton ScrollView and Viewbox Compared GroupBox 5 Dialogs Images Dialog Boxes in WPF © Batky-Howell, LLC 2 Windows Presentation Foundation Using C# (VS 2013) MessageBox Commands and Events MessageBox Show Method Images on Buttons Closing a Form: Review Tool Tips Common Dialog Boxes Other Elements on Toolbars Custom Dialogs Status Bars Modal Dialog 8 Dependency Properties and Routed New Product Dialog Events XAML for New Product Dialog Dependency Properties Code for the New Product Dialog Change Notification Bringing up the Dialog Property Value Inheritance Dialog Box Owner Support for Multiple Providers Displaying the Dialog Logical Trees Communicating with Parent Visual Tree XAML for Modeless Dialog Routed Events Handler for the Apply Button Event Handlers Handler for the Close Button Routing Strategies Instances of a Modeless Dialog Ready-made Routed Events in WPF Checking for an Instance 9 Resources 6 Menus and Commands Resources in .NET Menus in WPF Resources in WPF Menu Controls Binary Resources A Simple Menu Loose Files as Resources The Menu Using XAML Logical Resources Handling the Click Event Logical Resources in Code The Menu Using Procedural Code Static Resources Icons in Menus Dynamic Resources Context Menu 10 Data Binding XAML for Context Menu What is Data Binding? Separator Binding in Procedural Code Keyboard Shortcuts Binding in XAML Commands Binding to Plain .NET Properties WPF Command Architecture Binding to a Collection Command Bindings Controlling the Selected Item Custom Commands Data Context MenuCalculator Command Bindings Data Templates Input Bindings Specifying a Data Template Menu Items Value Converters Running MenuCalculator Using a Value Converter in XAML Checking Menu Items Collection Views Common Event Handlers Sorting Menu Checking Logic Grouping Calculation Logic Filtering Automatic Checking Collection Views in XAML 7 Toolbars and Status Bars Data Providers Toolbars in WPF ObjectDataProvider XAML for Toolbars XmlDataProvider © Batky-Howell, LLC 3 Windows Presentation Foundation Using C# (VS 2013) Data Access with Visual Studio 2013 SmallPub Database ADO.NET Entity Framework Add a Model using Database First Add a Data Source Navigation Code DataGrid Control Editing the Book Table Class Library Database Updates Refreshing the DataGrid 11 Styles, Templates, Skins and Themes WPF and Interfaces Styles Style Definition Applying Styles Style Inheritance Style Overriding Sharing Styles Types Styles Triggers Multiple Conditions Validation Templates Improving the Template Templated Parent’s Properties Respecting Visual States Using Templates with Styles Skins Changing Skins Themes 12 WPF and Windows Forms Interoperation Interoperating with Windows Forms Add a Form to a WPF Application Add a WPF Window to a Windows Forms Application Mixing WPF and Windows Forms in the Same Window Hosting a Windows Forms Control Using Code WindowsFormsHost via Code Windows Forms MonthCalendar WindowsFormsHost via XAML 13 Appendix A: Learning Resources © Batky-Howell, LLC 4 Windows Presentation Foundation Using C# (VS 2013) .
Recommended publications
  • Ironpython in Action
    IronPytho IN ACTION Michael J. Foord Christian Muirhead FOREWORD BY JIM HUGUNIN MANNING IronPython in Action Download at Boykma.Com Licensed to Deborah Christiansen <[email protected]> Download at Boykma.Com Licensed to Deborah Christiansen <[email protected]> IronPython in Action MICHAEL J. FOORD CHRISTIAN MUIRHEAD MANNING Greenwich (74° w. long.) Download at Boykma.Com Licensed to Deborah Christiansen <[email protected]> For online information and ordering of this and other Manning books, please visit www.manning.com. The publisher offers discounts on this book when ordered in quantity. For more information, please contact Special Sales Department Manning Publications Co. Sound View Court 3B fax: (609) 877-8256 Greenwich, CT 06830 email: [email protected] ©2009 by Manning Publications Co. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by means electronic, mechanical, photocopying, or otherwise, without prior written permission of the publisher. Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in the book, and Manning Publications was aware of a trademark claim, the designations have been printed in initial caps or all caps. Recognizing the importance of preserving what has been written, it is Manning’s policy to have the books we publish printed on acid-free paper, and we exert our best efforts to that end. Recognizing also our responsibility to conserve the resources of our planet, Manning books are printed on paper that is at least 15% recycled and processed without the use of elemental chlorine.
    [Show full text]
  • Opening Presentation
    Mono Meeting. Miguel de Icaza [email protected] October 24, 2006 Mono, Novell and the Community. Mono would not exist without the community: • Individual contributors. • Companies using Mono. • Organizations using Mono. • Companies using parts of Mono. • Google Summer of Code. Introductions. 2 Goals of the Meeting. A chance to meet. • Most of the Novell/Mono team is here. • Many contributors are here. • Various breaks to talk. Talk to others! • Introduce yourself, ask questions. Talk to us! • Frank Rego, Mono's Product Manager is here. • Tell us what you need in Mono. • Tell us about how you use Mono. 3 Project Status Goals Originally: • Improve our development platform on Linux. As the community grew: • Expand to support Microsoft APIs. As Mono got more complete: • Provide a complete cross platform runtime. • Allow Windows developers to port to Linux. 5 Mono Stacks and Goals. MySMQySQLL//PPosstgtrgesrsess EvEovolluutitioonn# # ASP.NET Novell APIs: MMoozzillala Novell iFolder iFolder, LDAP, Identity ADO.NET ApAapchachee MMonoono DesktoGpTK#: GTK# OpNoevenlOl LfDfAiPce GCneomceil# Windows.Forms JavaJa vCa oCommpaatitbilbitiylity Google APIs Microsoft Compatibility Libraries Mono Libraries Mono Runtime (Implementation of ECMA #335) 6 Platforms, CIL, Code Generation. 7 API space Mono 1.0: July 2004 “T-Bone” Mono 1.2: November 2006 “Rump steak” Mono 1.2 bits. Reliability and C# 2.0, .NET 2.0 scalability: • Complete. • With VM support. • ZenWorks and iFolder • Some 2.0 API support. pushed Mono on the server. • IronPython works. • xsp 1.0: 8 request/second. • xsp 1.2: 250 Debugger: request/second. • x86 and x86-64 debugger. GUI • CLI-only, limited in scenarios (no xsp).
    [Show full text]
  • ASP.NET MVC with Entity Framework and CSS
    ASP.NET MVC with Entity Framework and CSS Lee Naylor ASP.NET MVC with Entity Framework and CSS Lee Naylor Newton-le-Willows, Merseyside United Kingdom ISBN-13 (pbk): 978-1-4842-2136-5 ISBN-13 (electronic): 978-1-4842-2137-2 DOI 10.1007/978-1-4842-2137-2 Library of Congress Control Number: 2016952810 Copyright © 2016 by Lee Naylor This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed. Trademarked names, logos, and images may appear in this book. Rather than use a trademark symbol with every occurrence of a trademarked name, logo, or image we use the names, logos, and images only in an editorial fashion and to the benefit of the trademark owner, with no intention of infringement of the trademark. The use in this publication of trade names, trademarks, service marks, and similar terms, even if they are not identified as such, is not to be taken as an expression of opinion as to whether or not they are subject to proprietary rights. While the advice and information in this book are believed to be true and accurate at the date of publication, neither the authors nor the editors nor the publisher can accept any legal responsibility for any errors or omissions that may be made.
    [Show full text]
  • Demo: Embedding Windows Presentation Foundation Elements Inside a Java GUI Application
    Demo: Embedding Windows Presentation Foundation elements inside a Java GUI application Version 10.1 jnbridge.com JNBridge, LLC jnbridge.com COPYRIGHT © 2002–2019 JNBridge, LLC. All rights reserved. JNBridge is a registered trademark and JNBridgePro and the JNBridge logo are trademarks of JNBridge, LLC. Java is a registered trademark of Oracle and/or its affiliates. Microsoft, Visual Studio, and IntelliSense are trademarks or registered trademarks of Microsoft Corporation in the United States and other countries. Apache is a trademark of The Apache Software Foundation. All other marks are the property of their respective owners. August 13, 2019 Demo: Embedding a WPF element inside a Java GUI application Introduction This document shows how a .NET Windows Presentation Foundation (WPF) control can be embedded inside a Java GUI application (either an AWT, Swing, or SWT application). If you are unfamiliar with JNBridgePro, we recommend that you work through one of the other demos first. We recommend working through the “Java-to-.NET demo,” which will work through the entire process of generating proxies and setting up, configuring, and running an interop project. This current document assumes such knowledge, and is mainly a guided tour of the code and configuration information necessary to embed .NET GUI elements inside GUI-based Java applications. The .NET GUI component In this example, we have provided a Windows Presentation Foundation control, WPFControlDemo.UserControl1. This control is adapted from the example in the first chapter of the book Essential Windows Presentation Foundation, by Chris Anderson (Addison-Wesley). Any WPF component to be embedded inside a Java GUI application must be derived from System.Windows.Controls.Control.
    [Show full text]
  • Release 1.13 Kal Ahmed, Graham Moore
    BrightstarDB Documentation Release 1.13 Kal Ahmed, Graham Moore January 08, 2016 Contents 1 Getting Started 1 1.1 Architect.................................................1 1.2 Data....................................................1 1.3 Developer.................................................1 2 Concepts 3 2.1 Architecture...............................................3 2.2 Data Model................................................4 2.3 Storage Features.............................................5 2.4 Client APIs................................................5 2.5 Supported RDF Syntaxes........................................5 3 Why BrightstarDB? 7 3.1 An Associative Model..........................................7 3.2 Schema-less Data Store.........................................7 3.3 A Semantic Data Model.........................................7 3.4 Automatic Data caching.........................................8 3.5 Full Historical Capabilities........................................8 3.6 Developer Friendly Toolset.......................................8 3.7 Native .NET Semantic Web Database..................................8 3.8 RDF is great for powering Object Oriented solutions..........................8 4 Developing With BrightstarDB9 5 Developer Quick Start 11 5.1 Create New Project............................................ 11 5.2 Create the Model............................................. 12 5.3 Generating the Context and Classes................................... 13 5.4 Using the Context...........................................
    [Show full text]
  • How to Use the Powerpoint Template
    Getting Started with Oracle and .NET Christian Shay Eric Courville Product Manager Senior Member of Technical Staff Oracle Verizon Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Oracle Confidential – Internal/Restricted/Highly Restricted Program Agenda 1 Oracle and Microsoft 2 Oracle and .NET – Getting Started 3 Oracle Developer Tools for Visual Studio 4 Oracle Data Provider for .NET 5 Additional Oracle .NET Features Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Oracle and Microsoft Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Oracle’s Commitment to .NET ODP ODT & ODAC 64-bit ODAC ODAC ODAC ODAC ODAC ODAC 12c ODAC 12c .NET .NET SP 2006 ODAC 2008 2009 11.2 R2 11.2 R4 11.2 R5 R1 & R2 R3 & R4 2002-03 2005 2006 2007 2007-08 2009 2010 2011 2012 2013 2014-15 .NET VS .NET 2.0 & .NET .NET 3.5 & .NET 4 & EF .NET 4.5 & VS 2013 & VS 2015, 1.x 2003 VS 2005 3.0 VS 2008 VS 2010 VS 2012 Managed NuGet & EF Code First Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Relationship with Microsoft • Close collaboration with Microsoft Engineering teams Engineering • Access to pre-release Microsoft product drops • Visual Studio Industry Partner (VSIP) • Event sponsorship – MS Ignite and Worldwide Partner Marketing Conference • Joint training, road shows, collateral, etc. • Microsoft Premier Support Agreement Support • Collaboration of support teams Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Oracle and .NET Getting Started Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Oracle .NET Development Environment Oracle Developer Tools Oracle Data Provider Oracle Providers for for Visual Studio for .NET ASP.NET App Development Deploy Visual .NET Studio Framework Deploy Database Web or Development Client/Server Oracle Database Extensions for .NET Copyright © 2015, Oracle and/or its affiliates.
    [Show full text]
  • Python for the C# Developer
    {SDD} 2014 Software Design & Development Python for the C# developer Michael Kennedy @mkennedy http://blog.michaelckennedy.net Objectives • Introduce the basics of the Python language • Review what is awesome about C# and .NET • Explore Python's version of each C# / .NET feature DEVELOPMENTOR Michael Kennedy | @mkennedy | blog.michaelckennedy.net What is Python? • High-level programming language • Interpreted (sometimes JIT compiled) • Object-oriented (especially Python 3) • Strongly-typed with dynamic semantics • Syntax emphasizes readability • Supports modules and packages • Batteries included (large standard library [1]) DEVELOPMENTOR Michael Kennedy | @mkennedy | blog.michaelckennedy.net The ‘shape’ of a Python program • Python defines code blocks (known as suites in Python) using whitespace and colons. Things to note: def somemethod(name): • No semicolons if name == "Michael": print("Hi old friend") • Code blocks start with ‘:’ else: • Whitespace really really matters print("Nice to meet you") • There are no braces print("My name is … ") • There are no parentheses • Tabs are not your friend def main(): somemethod() Code suites DEVELOPMENTOR Michael Kennedy | @mkennedy | blog.michaelckennedy.net Python language demo DEVELOPMENTOR Michael Kennedy | @mkennedy | blog.michaelckennedy.net What's awesome about C# and .NET? System.Object: Everything is an object. LINQ IEnumerable + foreach loops Visual Studio / IDEs Class properties ( int Age {get; set;} ) Side-by-side execution (isolation) Anonymous types Iterator methods / yield return
    [Show full text]
  • Entity Framework Overview the Entity Framework Is a Set of Technologies in ADO.NET That Support the Development of Data-Oriented Software Applications
    Entity Framework Overview The Entity Framework is a set of technologies in ADO.NET that support the development of data-oriented software applications. Architects and developers of data-oriented applications have struggled with the need to achieve two very different objectives. They must model the entities, relationships, and logic of the business problems they are solving, and they must also work with the data engines used to store and retrieve the data. The data may span multiple storage systems, each with its own protocols; even applications that work with a single storage system must balance the requirements of the storage system against the requirements of writing efficient and maintainable application code. The Entity Framework enables developers to work with data in the form of domain-specific objects and properties, such as customers and customer addresses, without having to concern themselves with the underlying database tables and columns where this data is stored. With the Entity Framework, developers can work at a higher level of abstraction when they deal with data, and can create and maintain data-oriented applications with less code than in traditional applications. Because the Entity Framework is a component of the .NET Framework, Entity Framework applications can run on any computer on which the .NET Framework starting with version 3.5 SP1 is installed. The following sections in this topic provide more detail about the Entity Framework: Giving Life to Models Mapping Objects to Data Accessing and Changing Entity Data Data Providers Entity Data Model Tools Learning More Giving Life to Models A longstanding and common design approach when building an application or service is the division of the application or service into three parts: a domain model, a logical model, and a physical model.
    [Show full text]
  • Appendix a and Appendix B
    This PDF contains 2 Appendices: Appendix A and Appendix B. Appendix A Answers to the Test Your Knowledge Questions This appendix has the answers to the questions in the Test Your Knowledge section at the end of each chapter. Chapter 1 – Hello, C#! Welcome, .NET! 1. Why can a programmer use different languages, for example, C# and F#, to write applications that run on .NET? Answer: Multiple languages are supported on .NET because each one has a compiler that translates the source code into intermediate language (IL) code. This IL code is then compiled to native CPU instructions at runtime by the CLR. 2. What do you type at the prompt to create a console app? Answer: You enter dotnet new console. 3. What do you type at the prompt to build and execute C# source code? Answer: In a folder with a ProjectName.csproj file, you enter dotnet run. 4. What is the Visual Studio Code keyboard shortcut to view Terminal? Answer: Ctrl + ` (back tick). Answers to the Test Your Knowledge Questions 5. Is Visual Studio 2019 better than Visual Studio Code? Answer: No. Each is optimized for different tasks. Visual Studio 2019 is large, heavy- weight, and can create applications with graphical user interfaces, for example, Windows Forms, WPF, UWP, and Xamarin.Forms mobile apps, but it is only available on Windows. Visual Studio Code is smaller, lighter-weight, code-focused, supports many more languages, and is available cross-platform. In 2021, with the release of .NET 6 and .NET Multi-platform App User Interface (MAUI), Visual Studio Code will get an extension that enables building user interfaces for desktop and mobile apps.
    [Show full text]
  • Dotnet for Java Developers.Pdf
    EDITION 1.0 DOWNLOAD available at: https://aka.ms/dotnet-forjavadevs PUBLISHED BY DevDiv, .NET and Visual Studio product teams A division of Microsoft Corporation One Microsoft Way Redmond, Washington 98052-6399 Copyright © 2018 by Microsoft Corporation All rights reserved. No part of the contents of this book may be reproduced or transmitted in any form or by any means without the written permission of the publisher. This book is provided “as-is” and expresses the author’s views and opinions. The views, opinions, and information expressed in this book, including URL and other Internet website references, may change without notice. Some examples depicted herein are provided for illustration only and are fictitious. No real association or connection is intended or should be inferred. Microsoft and the trademarks listed at http://www.microsoft.com on the “Trademarks” webpage are trademarks of the Microsoft group of companies. All other marks are property of their respective owners. .NET for Java Developers Prepared for Microsoft by Ted Neward, Principal, Neward & Associates, LLC Contents Introduction 1 History 3 Of components, managed environments, and code 3 Hello, .NET 5 Hello, strange new world 9 Getting Started: Tooling 10 Hello, web? 10 Docker all the things! 10 Linux .NET? 10 Visual Studio Code 11 Mac .NET? 12 Windows: Visual Studio 14 Hello, dotnet: CLI style 15 Hello, .NET: IDE style 16 Solutions and projects 18 Goodbye, HelloWorld 19 C#, Succinctly 20 C# Basics 20 Starting exploration: classes, properties, and methods 21 Lambdas, type inference, and extension classes 25 Language-INtegrated Query (LINQ) 27 Asynchronous programming with Async/Await 28 Frameworks, for the Win! 29 ASP.NET Core Web API 30 ASP.NET Core MVC 33 Entity Framework Core 35 Wrapping Up 39 iii Introduction When I was about eight years old, my parents took my sister and me to Paris, France.
    [Show full text]
  • Annals of the University of North Carolina Wilmington Master of Science in Computer Science and Information Systems
    Annals of the University of North Carolina Wilmington Master of Science in Computer Science and Information Systems RE-VISIONING OF THE AUTOMATIC GRADING/LEARNING SYSTEM Jason Felds A Capstone Project Submitted to the University of North Carolina Wilmington in Partial Fulfillment of the Requirements for the Degree of Master of Science Department of Computer Science Department of Information Systems and Operations Management University of North Carolina Wilmington 2012 Approved by Advisory Committee ______________________________ ______________________________ Dr. Bryan Reinicke Dr. Laurie Patterson ______________________________ ______________________________ Kevin Matthews Dr. Thomas Janicki, Chair Accepted By _______________________________ Dean, Graduate School Abstract Re-visioning of the Automatic Grading/Learning System. Felds, Jason, 2012. Capstone Paper, University of North Carolina Wilmington. In 2008, the ISOM department at UNCW implemented a system that would allow students in certain classes to be able to submit electronic files to be automatically graded as part of the existing grade book system. While that system has been successful, enhancements are desired to make the system more user-friendly and to grade additional features. A number of flaws have been uncovered with the Automatic Grading/Learning System (AGLS) that should be corrected. The goal of this project is to make it easier for the professor to create and grade assignments, but also to make the AGLS more generic so it may be used by other grade book systems.
    [Show full text]
  • Building an MVC 3 App with Code First and Entity Framework 4.1 Julie Lerman
    Building an MVC 3 App with Code First and Entity Framework 4.1 Julie Lerman March 2011 Watch a video of this content Download the code for this article: · C# version (VS2010) · VB version (VS2010) Microsoft’s ADO.NET Entity Framework (EF) simplifies data access by allowing you to avoid working directly with the database in your code. Instead you can retrieve data by writing queries against strongly typed classes letting the Entity Framework handle the database interaction on your behalf. EF can also persist changes back to the database for you. In addition to this benefit, you will also benefit from the EF’s comprehension of relationships. This means you will not be required to write extra code to specify joins between entities when expressing queries or simply working with your objects in memory. EF provides you with three ways to describe the model of your entities. You can begin with a legacy database to create a model. You can design a model in a designer. Or you can simply define classes and let EF work with those. This last tactic is referred to as code first, because the first thing you do is write code to describe your entities. In this whitepaper, I will walk you through creating a simple MVC 3 application using Entity Framework’s code first technology to describe your classes and manage all of your data access. Overview In this walkthrough you will build pieces of a blogging application. The walkthrough will not result in a fully functional blogging application, but instead it will use the blog classes to demonstrate code first’s features.
    [Show full text]