ASP.NET Dynamic Data Unleashed (Unleashed)

  • ポイントキャンペーン

ASP.NET Dynamic Data Unleashed (Unleashed)

  • Sams(2012/05発売)
  • ただいまウェブストアではご注文を受け付けておりません。 ⇒古書を探す
  • 製本 Paperback:紙装版/ペーパーバック版/ページ数 516 p.
  • 言語 ENG
  • 商品コード 9780672335655
  • DDC分類 006.7

Full Description


Using Dynamic Data, ASP.NET developers can create powerful, datadriven sites with amazing speed and efficiency, eliminating massive amounts of manual coding. ASP.NET Dynamic Data Unleashed is the first complete, practical guide to Dynamic Data for every experienced ASP.NET developer.The author thoroughly demystifies Dynamic Data, helping developers understand exactly what they can do with the framework and make it more accessible than ever before. He provides tested code to solve a wide variety of problems, explains how and why that code works, and identifies key tradeoffs and alternatives.Packed with breakthrough techniques for improving developer productivity, this book combines a hands-on tutorial, "drill-down" explanations of advanced techniques, and real-world development scenarios.Detailed information on how to...Use Dynamic Data components to overcome common real-world user interface development challengesUnderstand how ASP.NET Dynamic Data builds on strengths of WebForms, Entity Framework, and LINQDevelop simple custom templates to dramatically reduce code duplicationGeneralize templates to leverage metadata and generate user interfaces dynamicallyCreate web pages for data entry, data filtering, and diverse views of dataUse Data Annotations to implement powerful validation logicWrite simple, yet effective automated tests to systematically verify the business logicCreate complex interaction rules that aren't limited by single entity objects or typesOptimize I/O-bound business logic by implementing it with T-SQL constraints, stored procedures, and triggersImplement role-based security with dynamic UI trimmingGenerate entire data-driven web applications, complete with CRUD pages, complex business rules, integrated navigation, and securityExtend Dynamic Data to support advanced scenariosDecide when Dynamic Data should be used instead of or together with ASP.NET MVC

Contents

Preface xvPART I Dynamic Data Fundamentals1 Getting Started 3Creating a New Dynamic Data Application 4Creating a Data Model 6Metadata in Entity Framework and Dynamic Data 12Field Templates and Dynamic Controls 13Data Annotations 17Entity Templates 18Grid Columns and Dynamic Fields 22Filter Templates 25Page Templates and URL Routing 29Summary 352 Entity Framework 37Understanding Entity Model 38Creating Entity Model 38ObjectContext and Simple Queries 43Associations 43Querying Across Associations 46Modifying and Saving Entities 46LINQ to Entities 47Query Execution 47Object Identity 48Lazy and Eager Loading 49Projections 49Sorting 50Grouping 51Joins 51Composing Queries 52SQL Translation 53Compiled Queries 55Extension Methods 57Entity Lifecycle 60Tracking Changes 60Optimistic Concurrency Control 61Transactions 64Read-Only ObjectContext 65Entity Model in Depth 66Mapping Entity Type to Multiple Tables 71Entity Type Inheritance 72Inheritance Mapping 73Stored Procedures 74Insert, Update, and Delete Stored Procedures 78Summary 823 Field Templates 85Read-Only Templates 86Field Value Display Format 87Edit and Insert Mode Templates 89Field Value Edit Format 93Changing Existing Field Template 93Data Binding 96Creating a New Field Template 99Field Template Lookup Rules 104Data Annotations 104Type Names 104Type Aliases 105Type Fallback 105Control Mode 106Mode Fallback 106Navigation Columns 107Field Template Lookup Algorithm 108Built-in Field Templates 111Boolean 111Boolean_Edit 111Children 111Children_Insert 111DateTime 112DateTime_Edit 112Decimal_Edit 112EmailAddress 112Enumeration 112Enumeration Edit 113ForeignKey 114ForeignKey_Edit 114Integer_Edit 114ManyToMany 114ManyToMany_Edit 115MultilineText_Edit 115Text 115Text_Edit 116Url 116Summary 1164 Entity Templates 117Creating an Entity Template 120Composite Entity Templates 122Generic Entity Templates 123Dynamic Entity Templates 124Edit and Insert Entity Templates 129Entity Template Lookup Rules 131Template Name 131Template Mode 132Entity Template Lookup Algorithm 133Built-in Entity Templates 134Summary 1355 Filter Templates 137Filtering with LINQ 138Creating a Filter Template 140GetQueryable Method 143OnFilterChanged Method 143DefaultValue Property 143Dynamic LINQ Queries 143Building Search Pages with Filter Templates 145QueryableFilterRepeater Control 148Filter Template Lookup Rules 150Built-in Filter Templates 151Boolean 151Enumeration 151ForeignKey 151Summary 1516 Page Templates 153Built-in Page Templates 154Details Page Template 155Edit Page Template 159List Page Template 163Insert Page Template 169Creating a New Page Template 172Custom Page Templates 174URL Routing 180Action Route Parameter 180Table Route Parameter 180URL Parameters Versus Query Parameters 181Dynamic Hyperlinks 182Route Evaluation and Constraints 183ViewName Route Parameter 185Page Template Lookup Rules 185Summary 1867 Metadata API 189Metadata Classes at a Glance 189Metadata Explorer 191The MetaModel Class 192Data Model Registration 192Accessing MetaTable Objects 193Global Model Registration 195Scaffolding Support 196The MetaTable Class 196Entity Definition 196Data Annotations 198Data Access Support 201Presentation Logic Support 202Security Support 203The MetaColumn Class 203Property Definition 204Property Kind 206Data Annotations 207The MetaForeignKeyColumn Class 211Presentation Logic 211The MetaChildrenColumn Class 213Summary 214PART II Dynamic Data in Real-World Applications8 Implementing Entity Validation 217Validation Framework 217Validation Error Messages 219Validation in Entity Framework 221Customizing Entity Framework Code Generation 227Replacing Built-in Code Generator with Text Template 227Customizing Text Template to Change Context Base Class 228Customizing Text Template to Generate Static Constructors 229Automated Testing 230Creating a Unit Test 231Test Isolation 234Testing Validation of Different Properties 235Integration Testing Versus Unit Testing 237Declarative Validation 238RequiredAttribute 238RangeAttribute 239StringLengthAttribute 241RegularExpressionAttribute 242EnumDataTypeAttribute 244DataTypeAttribute 245Imperative Validation 245CustomValidationAttribute 245Validating Multiple Rules 250Reporting Multiple Errors 252Validating Entity State Changes 256Accessing Original Property Values with ObjectStateManager 256Accessing Original Property Values in Validation Methods 257Handling DBNull Values 259Summary 2619 Implementing Business Logic 263Entity Design 264Measure Impact of Inheritance on Query Performance 264Keep the Conceptual and Storage Models as Close as Possible 268Default Property Values 269Property Interaction Rules 272OnPropertyChanging Partial Methods 273ISavableObject Interface 273Entity Interaction Rules 275Implementing Entity Interaction Rules in BeforeSave Methods 276Implementing Entity Interaction Rules as Entity Methods 277Implementing Entity Interaction Rules as Context Methods 278Validation Rules 280Validation Rule Design 281Validation of Related Entities 287Entity Deletion Rules 289Reusing Entity Validation in Business Rule Methods 290Saving Changes 292Managing Transactions 293Invoking Business Rules in Web Applications 294Error Handling 296Business Rules in the Database 298Integrating Database Validation in Dynamic Data Applications 299Implementing Validation Rules in Triggers 304Implementing Business Rules in Stored Procedures 306Summary 30810 Building Custom Forms 309Multimode Entity Templates 310Custom Templates 310Dynamic Templates 312Creating Dynamic Label Control 315Extending DynamicControl 319Configuring Field Templates 321Specifying a Field Template Explicitly 321Configuring Field Templates Declaratively 322Configuring Field Templates Programmatically 323Creating Custom Field Templates 324Implementing Interaction Between Field Templates 327Accessing Initial Field Values of Other Columns 330Accessing Modified Field Values of Other Columns 331Initial Implementation of the Region_Edit Field Template 332Improving Encapsulation of Field Templates 334FieldValue Property 336FieldValueChanged Event 337AutoPostBack Property 337Extending Existing Field Templates 337Using Entity Templates to Control Field Templates 341Extending DynamicControl (Again) 343Taking Advantage of the UnleashedControl in Entity Templates 345Summary 34711 Building Dynamic Forms 349Basic Form Layout 350Configuring Appearance of Labels 352Prompt Annotation 354Description Annotation 356Configuring Field Templates 357Making Properties Read-Only 357Overriding Default Field Templates 359Configuring Appearance of Values 360Enum Properties and Enumeration Templates 361Extending the Enumeration Field Templates 362Custom Data Types and UI Hints 368Specifying Field Template Parameters 370Extending Dynamic Data to Support Control Parameters 372Field Template Interaction in Dynamic Forms 378Fixing the FindOtherFieldTemplate Method 381Creating Additional Dynamic Entity Templates 383Extending Metadata to Support Entity UI Hints 384Extending Page Templates to Support EntityUIHintAttribute 386UnleashedEntity Control 386Building a Dynamic Two-Column Entity Template 388Summary 39312 Building Custom Search Pages 395Displaying Information from Related Entities 396Column Sorting Across Related Entities 400Building Custom Search Pages 401Overcoming Limitations of Dynamic Filters 403Using Replacement Filter Controls 405Filtering Based on Related Entities 407Initializing Nested Filter Control 409Implementing Query Logic 411Using the Parent Filter Template 419Summary 42013 Building Dynamic List Pages 421Extending Filter Lookup Rules 422Extending the FilterFactory Class 423Extending the MetaTable Class 427Extending the MetaModel Class 429Building Dynamic UI with Custom Properties 432Implementing Support for Custom Properties 433Model Providers 434Sorting of Custom Properties 446Specifying Sort Expression for Custom Properties in Entity Model 446Extending Dynamic Data to Support Sort Expression Metadata 447Generating Metadata Attributes 450Summary 45214 Implementing Security 455Table Scaffolding 456Route Constraints 457Web.Config Authorization Rules 458Limitations of Configuration-Based Rules 461Metadata Security API 462Modifying Dynamic Templates to Support the Security API 464Implementing Row-Level Security 472Security Annotations 476AuthorizationAttribute 477CustomQueryAttribute 487Summary 493Index 495

最近チェックした商品