.NET Database Technologies. Entity Framework: Queries and Transactions

Size: px
Start display at page:

Download ".NET Database Technologies. Entity Framework: Queries and Transactions"

Transcription

1 .NET Database Technologies Entity Framework: Queries and Transactions

2 ORMs and query languages l With an ORM, queries must define data to be returned and criteria in terms of domain model objects and their properties l Framework translates object query to query understood by underlying data store (SQL) l Many query languages have been created for specific ORMs on.net and other platforms l e.g. HQL, JPQL, EJB QL, Entity SQL l Generally use magic strings 2

3 ORM query language examples l HQL (Hibernate, NHibernate) using (var tx = session.begintransaction()) { int count = (int) session.createquery("select count(*) from Trip").UniqueResult(); tx.commit(); } l Entity SQL 3

4 Language integrated queries l LINQ offers.net applications the capability to defined type-safe queries[1] l Compile-time checking and Intellisense l Not specific to ORMs, supported by providers for many data sources l Preferred way of defining queries in EF, supported by NHibernate and other.net ORMs l Other type-safe query languages have also been created/proposed, e.g. Native Queries supported in db4o object database[2] 4

5 LINQ l General-purpose query facilities for.net that apply to all sources of information, not just relational or XML data l Queries expressed using query syntax or standard query operators l EF supports LINQ to Entities 5

6 LINQ to Entities derived from DbContext type is DbSet, implements IQueryable extension methods, act on IQueryable and return IQueryable, methods defined in System.Linq.Queryable class deferred execution - query not sent to database until results are touched, e.g. by enumerating with foreach or returning results as List or array ToList forces execution Compare this to LINQ to Objects queries, which operate on IEnumerable, extension methods in System.Linq.Enumerable class 6

7 Lambda functions/expressions l Lambda expressions provide a compact syntax for authoring query operators l Lambda can represent a function or an expression l f is a reference to an executable delegate l e is a reference to an expression tree which is not directly executable 7

8 Expression trees l Expression tree is a data structure l Can be traversed and modified at runtime l Expression class or subclass properties (e.g. BinaryExpression, LambdaExpression): l Body l Parameters l Left/Right l NodeType l Type l Compile method converts to callable code 8

9 Expression trees Expression definition LambdaExpression LambdaExpression.Body is instance of BinaryExpression 9

10 Entity Framework expressions l LINQ to Entities expects Expression rather than Func for query operator, e.g. l Expression<Func<DomainType, bool>> is required for filtering with Where l Expression here is a predicate object that represents a query criterion l Expression<Func<DomainType, ResultType>> is required for Select 10

11 Entity Framework expressions l IQueryable has property of type Expression l Holds the expression tree for that instance l Tree is built from all the expressions which combine to define that query, including those used in Where, OrderBy, Select, etc. l Easier to translate a data structure into SQL than to translate executable code into SQL 11

12 Combining expressions l Can combine criteria in a query with chained calls to Where (not ideal) l Equivalent to: 12

13 Query object pattern l An object that represents a database query Fowler l A LINQ expression can be thought of as an implementation of the pattern l Quite closely follows Fowler s description l Arguably no need to implement your own 13

14 Query objects l However, it can be useful to design your own query objects at a higher level of abstraction l Can improve separation of concerns, e.g. remove query logic from repositories l Can create testable query logic useful if query is complex l One approach is to encapsulate parameter(s) as properties of QO class and provide method to return an expression[3] 14

15 Query object example l Query object class l Creating and using a query object 15

16 Composing expressions l Query Object pattern suggests the ability to build a single object composed of criteria l Arguably a LINQ query provides this, but we can also compose criteria explicitly before using in LINQ query l Expression tree can be manipulated at runtime, but this can be tricky l PredicateBuilder[4] makes this easier to do 16

17 Using PredicateBuilder l Need to download and have reference to LinqKit.dll AsExpandable method provided by LinqKit, required for EF queries 17

18 Composed query class l Rather than composing in client code we can build specific query class from simpler queries 18

19 Composed query class 19

20 Query object design l No single definitive way to design query objects l Many examples to be found l For example, some authors define queries as an additional set of extension methods on IQueryable l Some refer to Specification pattern l Design of queries and the way they are used, e.g. within or instead of repositories, is an important part of application architecture 20

21 LINQ queries compared to SQL l SQL operates on a relation and returns a relation l Need to explicitly JOIN associated entities l LINQ can return complex object graph l Can return domain objects l Can project to new anonymous object built from properties/objects returned by query l LINQ can navigate relationships between associated entities l Don t always need to use Join 21

22 Fetch strategy l Unless you are using lazy loading you need to consider fetch strategy carefully l Make sure any associated objects which client code needs are materialised l If not, can get null reference exceptions when accessing object members l Careful use of Include is required 22

23 Fetch strategy example l Use LinqPad to visualise results l No eager loading, Department only 23

24 Fetch strategy examples l Include Employees collection 24

25 Fetch strategy examples l Include Address property of each Employee 25

26 Division of responsibility l Query logic and fetch strategy are distinct responsibilities l Need to design an architecture which places these responsibilities in appropriate classes l Many different approaches possible l Look at examples later when we look more closely at repositories l Summarise one possible approach briefly here 26

27 Division of responsibility l Use query objects, or simply Expressions, to encapsulate query criteria l Expose domain objects to client through repository as IQueryable l Repository uses query objects, possibly passed from client as parameters l Client (e.g. MVC controller or service layer method) applies fetch strategy to result client knows what objects are required for the operation it needs to perform 27

28 Finding a single object with Find l Find is a method of DbSet by PK l Return type is Object, can t access associated objects unless already loaded l A round-trip to the database will only be made if the entity with the given key is not found in the context l Find will return entities that are in the Added state, i.e. Find will return entities that have been added to the context but have not yet been saved to the database 28

29 Find examples 29

30 Native SQL queries l Most ORMs allow SQL or calls to stored procedures to be sent to database native (to database) query l EF allows SQL queries to return entities or primitive types l Queries as magic strings l Can call stored procedures and pass parameters to them 30

31 SQL query examples 31

32 Transactions l DbContext to some extent defines transactions l Changes are not sent to database until committed with SaveChanges l May want to encapsulate operations in true transactions l Use TransactionScope in.net l Needs to be supported by database provider l Local or distributed transactions l Transaction can include multiple contexts 32

33 Transactions example Save changes in two contexts Object added to second context is invalid, will throw exception on SaveChanges Changes already saved within transaction through first context will also roll back 33

34 ObjectContext l DbContext provides a useful set of functionality, but some capabilities of ObjectContext are not provided l Need to drop down to underlying ObjectContext in some (rare) circumstances l (can do this with DbContext better example is to generate EDMX..) 34

35 References 1. bb aspx /08/02/query-objects-with-therepository-pattern/ 4. predicatebuilder.aspx 35

MSSQL and.net. Using SQL in.net, running.net code in SQL Server

MSSQL and.net. Using SQL in.net, running.net code in SQL Server MSSQL and.net Using SQL in.net, running.net code in SQL Server Brief Intro to C# Specific Concepts Properties public int SomeInt { get; private set; } Generics Interfaces public interface IQueryable

More information

Visual C# 2012 How to Program by Pe ars on Ed uc ati on, Inc. All Ri ght s Re ser ve d.

Visual C# 2012 How to Program by Pe ars on Ed uc ati on, Inc. All Ri ght s Re ser ve d. Visual C# 2012 How to Program 1 99 2-20 14 by Pe ars on Ed uc ati on, Inc. All Ri ght s Re ser ve d. 1992-2014 by Pearson Education, Inc. All 1992-2014 by Pearson Education, Inc. All Although commonly

More information

Programming Microsoft LINQ in

Programming Microsoft LINQ in Microsoft Programming Microsoft LINQ in Framework 4 Microsoft NET Paolo Pialorsi Marco Russo Table of Contents Preface Acknowledgments Introduction xvii xix xxi Part I LINQ Foundations 1 LINQ Introduction

More information

Querying In-Memory Data by Using Query Expressions

Querying In-Memory Data by Using Query Expressions Chapter 21 Querying In-Memory Data by Using Query Expressions LINQ (Language Integrated Query) CUSTOMER CID FName Lname Company 1 Ram Kumar CITech 2 Sam Peter HP 3 Anil Kumar EMC 2 4 Anuj Patil Dell 5

More information

Full Stack.Net Developer Course

Full Stack.Net Developer Course T&C Apply Full Stack.Net Developer Course From Quick pert Infotech Learning Process .Net Developer Learning Path to Crack Interviews Full Fledged Dot Net Developer MVC & Entity (Framwork Expert) PL SQL

More information

Index. Holger Schwichtenberg 2018 H. Schwichtenberg, Modern Data Access with Entity Framework Core,

Index. Holger Schwichtenberg 2018 H. Schwichtenberg, Modern Data Access with Entity Framework Core, A Aggregate functions, 172 Alternative key HasAlternateKey(), 348 Microsoft SQL Server Management Studio, 348, 350 Project EFC_MappingTest, 350 unique index vs., 347 Analysis functions, 493 494 ASP.NET

More information

.Net Job Assured Course (3 in 1)

.Net Job Assured Course (3 in 1) T&C Apply.Net Job Assured Course (3 in 1) From Quick pert Infotech Learning Process .Net Developer Learning Path to Crack Interviews Full Fledged Dot Net Developer (3 in 1 - Opens.Net, WebDesign & Database

More information

object/relational persistence What is persistence? 5

object/relational persistence What is persistence? 5 contents foreword to the revised edition xix foreword to the first edition xxi preface to the revised edition xxiii preface to the first edition xxv acknowledgments xxviii about this book xxix about the

More information

HIBERNATE MOCK TEST HIBERNATE MOCK TEST I

HIBERNATE MOCK TEST HIBERNATE MOCK TEST I http://www.tutorialspoint.com HIBERNATE MOCK TEST Copyright tutorialspoint.com This section presents you various set of Mock Tests related to Hibernate Framework. You can download these sample mock tests

More information

Hibernate Interview Questions

Hibernate Interview Questions Hibernate Interview Questions 1. What is Hibernate? Hibernate is a powerful, high performance object/relational persistence and query service. This lets the users to develop persistent classes following

More information

Repository Pattern and Unit of Work with Entity Framework

Repository Pattern and Unit of Work with Entity Framework Repository Pattern and Unit of Work with Entity Framework Repository pattern is used to create an abstraction layer between the data access layer and the business logic layer. This abstraction layer contains

More information

Hibernate Overview. By Khader Shaik

Hibernate Overview. By Khader Shaik Hibernate Overview By Khader Shaik 1 Agenda Introduction to ORM Overview of Hibernate Why Hibernate Anatomy of Example Overview of HQL Architecture Overview Comparison with ibatis and JPA 2 Introduction

More information

ASP.NET MVC 5. Nemanja Kojic, MScEE

ASP.NET MVC 5. Nemanja Kojic, MScEE ASP.NET MVC 5 Nemanja Kojic, MScEE 1 What is MVC? Model-View-Controller (MVC) Standard Architectural Pattern Separation of concerns: model, view, controller 2 of 114 ASP.NET MVC Framework An alternative

More information

Advances in Programming Languages

Advances in Programming Languages T O Y H Advances in Programming Languages APL10: Bridging Query and Programming Languages Ian Stark School of Informatics The University of Edinburgh Friday 29 October 2010 Semester 1 Week 6 E H U N I

More information

Object-Relational Mapping

Object-Relational Mapping Object-Relational Mapping Object-Relational Mapping Software Architecture ORM Problems ORM Solutions Demo Software Architecture Part 1 Architecture Separation of Concerns A design principle that comprises

More information

Chapter 1 Introducing EJB 1. What is Java EE Introduction to EJB...5 Need of EJB...6 Types of Enterprise Beans...7

Chapter 1 Introducing EJB 1. What is Java EE Introduction to EJB...5 Need of EJB...6 Types of Enterprise Beans...7 CONTENTS Chapter 1 Introducing EJB 1 What is Java EE 5...2 Java EE 5 Components... 2 Java EE 5 Clients... 4 Java EE 5 Containers...4 Introduction to EJB...5 Need of EJB...6 Types of Enterprise Beans...7

More information

COPYRIGHTED MATERIAL. Contents. Part I: C# Fundamentals 1. Chapter 1: The.NET Framework 3. Chapter 2: Getting Started with Visual Studio

COPYRIGHTED MATERIAL. Contents. Part I: C# Fundamentals 1. Chapter 1: The.NET Framework 3. Chapter 2: Getting Started with Visual Studio Introduction XXV Part I: C# Fundamentals 1 Chapter 1: The.NET Framework 3 What s the.net Framework? 3 Common Language Runtime 3.NET Framework Class Library 4 Assemblies and the Microsoft Intermediate Language

More information

Java Object/Relational Persistence with Hibernate. David Lucek 11 Jan 2005

Java Object/Relational Persistence with Hibernate. David Lucek 11 Jan 2005 Java Object/Relational Persistence with Hibernate David Lucek 11 Jan 2005 Object Relational Persistence Maps objects in your Model to a datastore, normally a relational database. Why? EJB Container Managed

More information

5/2/2017. Querying. Querying. Querying. Entities can be retrieved using EntityManager.find() when the primary key is known

5/2/2017. Querying. Querying. Querying. Entities can be retrieved using EntityManager.find() when the primary key is known Querying Software Architectures and Methodologies - Entities can be retrieved using EntityManager.find() when the primary key is known JPA: Querying to obtain the primary key either the key is natural

More information

LightSpeed 5 Upgrade Guide

LightSpeed 5 Upgrade Guide LightSpeed 5 Upgrade Guide Welcome to LightSpeed 5.0! This document details the new features and breaking changes in LightSpeed with this release of the product. If you have any questions regarding any

More information

Programming in Visual Basic with Microsoft Visual Studio 2010

Programming in Visual Basic with Microsoft Visual Studio 2010 Programming in Visual Basic with Microsoft Visual Studio 2010 Course 10550; 5 Days, Instructor-led Course Description This course teaches you Visual Basic language syntax, program structure, and implementation

More information

INTEGRATION OF QUERIES TO HETEROGENEOUS DATA SOURCES USING LINQ TECHNOLOGY

INTEGRATION OF QUERIES TO HETEROGENEOUS DATA SOURCES USING LINQ TECHNOLOGY INFORMATION SYSTEMS IN MANAGEMENT Information Systems in Management (2018) Vol. 7 (3) 180 189 DOI: 10.22630/ISIM.2018.7.3.3 INTEGRATION OF QUERIES TO HETEROGENEOUS DATA SOURCES USING LINQ TECHNOLOGY MARIAN

More information

PROGRAMMING IN VISUAL BASIC WITH MICROSOFT VISUAL STUDIO Course: 10550A; Duration: 5 Days; Instructor-led

PROGRAMMING IN VISUAL BASIC WITH MICROSOFT VISUAL STUDIO Course: 10550A; Duration: 5 Days; Instructor-led CENTER OF KNOWLEDGE, PATH TO SUCCESS Website: PROGRAMMING IN VISUAL BASIC WITH MICROSOFT VISUAL STUDIO 2010 Course: 10550A; Duration: 5 Days; Instructor-led WHAT YOU WILL LEARN This course teaches you

More information

Efficient Object-Relational Mapping for JAVA and J2EE Applications or the impact of J2EE on RDB. Marc Stampfli Oracle Software (Switzerland) Ltd.

Efficient Object-Relational Mapping for JAVA and J2EE Applications or the impact of J2EE on RDB. Marc Stampfli Oracle Software (Switzerland) Ltd. Efficient Object-Relational Mapping for JAVA and J2EE Applications or the impact of J2EE on RDB Marc Stampfli Oracle Software (Switzerland) Ltd. Underestimation According to customers about 20-50% percent

More information

Microsoft. Microsoft Visual C# Step by Step. John Sharp

Microsoft. Microsoft Visual C# Step by Step. John Sharp Microsoft Microsoft Visual C#- 2010 Step by Step John Sharp Table of Contents Acknowledgments Introduction xvii xix Part I Introducing Microsoft Visual C# and Microsoft Visual Studio 2010 1 Welcome to

More information

DEVELOPING WEB AZURE AND WEB SERVICES MICROSOFT WINDOWS AZURE

DEVELOPING WEB AZURE AND WEB SERVICES MICROSOFT WINDOWS AZURE 70-487 DEVELOPING WEB AZURE AND WEB SERVICES MICROSOFT WINDOWS AZURE ACCESSING DATA(20 TO 25%) 1) Choose data access technologies a) Choose a technology (ADO.NET, Entity Framework, WCF Data Services, Azure

More information

Advanced WCF 4.0 .NET. Web Services. Contents for.net Professionals. Learn new and stay updated. Design Patterns, OOPS Principles, WCF, WPF, MVC &LINQ

Advanced WCF 4.0 .NET. Web Services. Contents for.net Professionals. Learn new and stay updated. Design Patterns, OOPS Principles, WCF, WPF, MVC &LINQ Serialization PLINQ WPF LINQ SOA Design Patterns Web Services 4.0.NET Reflection Reflection WCF MVC Microsoft Visual Studio 2010 Advanced Contents for.net Professionals Learn new and stay updated Design

More information

C# in Depth THIRD EDITION

C# in Depth THIRD EDITION C# in Depth THIRD EDITION JON SKEET MANNING SHELTER ISLAND brief contents PART 1 PREPARING FOR THE JOURNEY...1 1 The changing face of C# development 3 2 Core foundations: building on C# 1 29 PART 2 C#

More information

foreword to the first edition preface xxi acknowledgments xxiii about this book xxv about the cover illustration

foreword to the first edition preface xxi acknowledgments xxiii about this book xxv about the cover illustration contents foreword to the first edition preface xxi acknowledgments xxiii about this book xxv about the cover illustration xix xxxii PART 1 GETTING STARTED WITH ORM...1 1 2 Understanding object/relational

More information

Contents. LINQ for Visual C# 2008 i

Contents. LINQ for Visual C# 2008 i Contents Chapter 1: LINQ to Objects...1 Introduction...1 A Simple C# 3.0 LINQ to Objects Program...1 Extension Methods...3 Lambda Expressions...5 Expression Trees...6 Object Initialization Expressions...7

More information

DESIGN PATTERN - INTERVIEW QUESTIONS

DESIGN PATTERN - INTERVIEW QUESTIONS DESIGN PATTERN - INTERVIEW QUESTIONS http://www.tutorialspoint.com/design_pattern/design_pattern_interview_questions.htm Copyright tutorialspoint.com Dear readers, these Design Pattern Interview Questions

More information

LINQ. One of the most hyped innovations in.net 3.5 is LINQ (Language Integrated Query), a set of language. LINQ Basics CHAPTER 13

LINQ. One of the most hyped innovations in.net 3.5 is LINQ (Language Integrated Query), a set of language. LINQ Basics CHAPTER 13 CHAPTER 13 LINQ One of the most hyped innovations in.net 3.5 is LINQ (Language Integrated Query), a set of language extensions that allows you to perform queries without leaving the comfort of the C# language.

More information

Concepts behind the C# 3 language. Faculty of Mathematics and Physics, Charles University in Prague

Concepts behind the C# 3 language. Faculty of Mathematics and Physics, Charles University in Prague Concepts behind the C# 3 language TomášPetříček(tomas@tomasp.net) Faculty of Mathematics and Physics, Charles University in Prague 1 Introduction The C# 3 (currently available in preliminary version) is

More information

Applying Code Generation Approach in Fabrique Kirill Kalishev, JetBrains

Applying Code Generation Approach in Fabrique Kirill Kalishev, JetBrains november 2004 Applying Code Generation Approach in Fabrique This paper discusses ideas on applying the code generation approach to help the developer to focus on high-level models rather than on routine

More information

Object-Relational Mapping Tools let s talk to each other!

Object-Relational Mapping Tools let s talk to each other! Object-Relational Mapping Tools let s talk to each other! BASEL BERN BRUGG DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. GENEVA HAMBURG COPENHAGEN LAUSANNE MUNICH STUTTGART VIENNA ZURICH Agenda O/R Mappers

More information

Previous C# Releases. C# 3.0 Language Features. C# 3.0 Features. C# 3.0 Orcas. Local Variables. Language Integrated Query 3/23/2007

Previous C# Releases. C# 3.0 Language Features. C# 3.0 Features. C# 3.0 Orcas. Local Variables. Language Integrated Query 3/23/2007 Previous C# Releases C# 3.0 Language Features C# Programming March 12, 2007 1.0 2001 1.1 2003 2.0 2005 Generics Anonymous methods Iterators with yield Static classes Covariance and contravariance for delegate

More information

CodingFactory. Learn.NET MVC with WCF & Angular. This syllabus is cover all the basic to. Angular. Table of Contents

CodingFactory. Learn.NET MVC with WCF & Angular. This syllabus is cover all the basic to. Angular. Table of Contents Learn.NET MVC with WCF & Angular This syllabus is cover all the basic to advance topics of MVC,WCF,ORM & Angular Table of Contents 1. Module1.NET Basic... 2. Module2 ORM... 3. Module3 SOA,REST... 4. Module4

More information

HIBERNATE MOCK TEST HIBERNATE MOCK TEST IV

HIBERNATE MOCK TEST HIBERNATE MOCK TEST IV http://www.tutorialspoint.com HIBERNATE MOCK TEST Copyright tutorialspoint.com This section presents you various set of Mock Tests related to Hibernate Framework. You can download these sample mock tests

More information

The C# Programming Language. Overview

The C# Programming Language. Overview The C# Programming Language Overview Microsoft's.NET Framework presents developers with unprecedented opportunities. From web applications to desktop and mobile platform applications - all can be built

More information

Migrating a Classic Hibernate Application to Use the WebSphere JPA 2.0 Feature Pack

Migrating a Classic Hibernate Application to Use the WebSphere JPA 2.0 Feature Pack Migrating a Classic Hibernate Application to Use the WebSphere JPA 2.0 Feature Pack Author: Lisa Walkosz liwalkos@us.ibm.com Date: May 28, 2010 THE INFORMATION CONTAINED IN THIS REPORT IS PROVIDED FOR

More information

The Data Access Layer:

The Data Access Layer: EBOOK The Data Access Layer: A PRAGMATIC APPROACH 01 06 Identifying the Optimal DAL Architecture What are Patterns 02 07 Decomposing the Data Layer Pass-Thru 03 08 Eager and Deffered Data Materialization

More information

Seminar 11 week 11 (11-15 December 2017)

Seminar 11 week 11 (11-15 December 2017) Seminar 11 week 11 (11-15 December 2017) 1. Discuss LINQ from C# using the following examples. 2. Solve the following problems: 2.1. Display the number and frequency of number from given array. 2.2. find

More information

Java EE Architecture, Part Three. Java EE architecture, part three 1(57)

Java EE Architecture, Part Three. Java EE architecture, part three 1(57) Java EE Architecture, Part Three Java EE architecture, part three 1(57) Content Requirements on the Integration layer The Database Access Object, DAO Pattern Frameworks for the Integration layer Java EE

More information

Dot Net Framework 4.0: Advanced Microsoft C#.NET Web Development

Dot Net Framework 4.0: Advanced Microsoft C#.NET Web Development Dot Net Framework 4.0: Advanced Microsoft C#.NET Web Development Duration: 90 Hours What you will learn This course is your first step towards success as a Dot Net professional, designed to give you a

More information

CO Java EE 6: Develop Database Applications with JPA

CO Java EE 6: Develop Database Applications with JPA CO-77746 Java EE 6: Develop Database Applications with JPA Summary Duration 4 Days Audience Database Developers, Java EE Developers Level Professional Technology Java EE 6 Delivery Method Instructor-led

More information

TECHNOLOGY: Ask Tom. As Published In. May/June 2011

TECHNOLOGY: Ask Tom. As Published In. May/June 2011 TECHNOLOGY: Ask Tom As Published In May/June 2011 On Deferring and Bulking Up By Tom Kyte Our technologist prefers not to defer and works to increase bulk. In your column On Constraints, Metadata, and

More information

CHAPTER 1: INTRODUCING C# 3

CHAPTER 1: INTRODUCING C# 3 INTRODUCTION xix PART I: THE OOP LANGUAGE CHAPTER 1: INTRODUCING C# 3 What Is the.net Framework? 4 What s in the.net Framework? 4 Writing Applications Using the.net Framework 5 What Is C#? 8 Applications

More information

DOT NET COURSE BROCHURE

DOT NET COURSE BROCHURE Page 1 1Pointer Technology Chacko Towers,Anna nagar Main Road, Anna Nager(Annai Insititute 2nd Floor) Pondicherry-05 Mobile :+91-9600444787,9487662326 Website : http://www.1pointer.com/ Email : info@1pointer.com/onepointertechnology@gmail.com

More information

Advance Dotnet ( 2 Month )

Advance Dotnet ( 2 Month ) Advance Dotnet ( 2 Month ) Course Content Introduction WCF Using.Net 4.0 Service Oriented Architecture Three Basic Layers First Principle Communication and Integration Integration Styles Legacy Applications

More information

Lightweight J2EE Framework

Lightweight J2EE Framework Lightweight J2EE Framework Struts, spring, hibernate Software System Design Zhu Hongjun Session 5: Hibernate DAO Transaction Management and Concurrency Hibernate Querying Batch Processing Data Filtering

More information

Course Modules for MCSA: SQL Server 2016 Database Development Training & Certification Course:

Course Modules for MCSA: SQL Server 2016 Database Development Training & Certification Course: Course Modules for MCSA: SQL Server 2016 Database Development Training & Certification Course: 20762C Developing SQL 2016 Databases Module 1: An Introduction to Database Development Introduction to the

More information

Spring & Hibernate. Knowledge of database. And basic Knowledge of web application development. Module 1: Spring Basics

Spring & Hibernate. Knowledge of database. And basic Knowledge of web application development. Module 1: Spring Basics Spring & Hibernate Overview: The spring framework is an application framework that provides a lightweight container that supports the creation of simple-to-complex components in a non-invasive fashion.

More information

Managing Data in an Object World. Mike Fechner, Director, Consultingwerk Ltd.

Managing Data in an Object World. Mike Fechner, Director, Consultingwerk Ltd. Managing Data in an Object World Mike Fechner, Director, Consultingwerk Ltd. mike.fechner@consultingwerk.de Consultingwerk Ltd. Independent IT consulting organization Focusing on OpenEdge and.net Located

More information

BUILDING APPLICATIONS USING C# AND.NET FRAMEWORK (OBJECT-ORIENTED PROGRAMMING, X428.6)

BUILDING APPLICATIONS USING C# AND.NET FRAMEWORK (OBJECT-ORIENTED PROGRAMMING, X428.6) Technology & Information Management Instructor: Michael Kremer, Ph.D. Class 7 Professional Program: Data Administration and Management BUILDING APPLICATIONS USING C# AND.NET FRAMEWORK (OBJECT-ORIENTED

More information

C# in Depth SECOND EDITION JON SKEET. MANNING Greenwich (74 w. long.)

C# in Depth SECOND EDITION JON SKEET. MANNING Greenwich (74 w. long.) C# in Depth SECOND EDITION JON SKEET II MANNING Greenwich (74 w. long.) brief contents PART 1 PREPARING FOR THE JOURNEY 1 The changing face of C# development 2 Core foundations: building on C# 1 27 PART

More information

What s new in ASP.NET 3.5? Mike Ormond Developer & Platform Group Microsoft Ltd

What s new in ASP.NET 3.5? Mike Ormond Developer & Platform Group Microsoft Ltd What s new in ASP.NET 3.5? Mike Ormond Developer & Platform Group Microsoft Ltd Mike.Ormond@microsoft.com http://mikeo.co.uk What we ll look at... ASP.NET AJAX Data Access Silverlight ASP.NET Futures Release

More information

TopLink Grid: Scaling JPA applications with Coherence

TopLink Grid: Scaling JPA applications with Coherence TopLink Grid: Scaling JPA applications with Coherence Shaun Smith Principal Product Manager shaun.smith@oracle.com Java Persistence: The Problem Space Customer id: int name: String

More information

CocoBase Delivers TOP TEN Enterprise Persistence Features For JPA Development! CocoBase Pure POJO

CocoBase Delivers TOP TEN Enterprise Persistence Features For JPA Development! CocoBase Pure POJO CocoBase Pure POJO Product Information V5 CocoBase Delivers TOP TEN Enterprise Persistence Features For JPA Development! CocoBase Provides A Complete Enterprise Solution For JPA Based Development. CocoBase

More information

How to be a C# ninja in 10 easy steps. Benjamin Day

How to be a C# ninja in 10 easy steps. Benjamin Day How to be a C# ninja in 10 easy steps Benjamin Day Benjamin Day Consultant, Coach, Trainer Scrum.org Classes Professional Scrum Developer (PSD) Professional Scrum Foundations (PSF) TechEd, VSLive, DevTeach,

More information

Remote Health Service System based on Struts2 and Hibernate

Remote Health Service System based on Struts2 and Hibernate St. Cloud State University therepository at St. Cloud State Culminating Projects in Computer Science and Information Technology Department of Computer Science and Information Technology 5-2017 Remote Health

More information

Variable Scope The Main() Function Struct Functions Overloading Functions Using Delegates Chapter 7: Debugging and Error Handling Debugging in Visual

Variable Scope The Main() Function Struct Functions Overloading Functions Using Delegates Chapter 7: Debugging and Error Handling Debugging in Visual Table of Contents Title Page Introduction Who This Book Is For What This Book Covers How This Book Is Structured What You Need to Use This Book Conventions Source Code Errata p2p.wrox.com Part I: The OOP

More information

Project # 1: Database Programming

Project # 1: Database Programming Project # 1: Database Programming CSE462 Database Concepts Demian Lessa Department of Computer Science and Engineering State University of New York, Buffalo February 21, 2011 Outline 1 Database Programming

More information

OptiQL: LINQ on Delite

OptiQL: LINQ on Delite OptiQL: LINQ on Delite What is LINQ? Language Integrated Query (LINQ) is a set of language and framework features for writing structured typesafe queries over local object collections and remote data sources.

More information

Object-Oriented Programming

Object-Oriented Programming Object-Oriented Programming 1. What is object-oriented programming (OOP)? OOP is a technique to develop logical modules, such as classes that contain properties, methods, fields, and events. An object

More information

By Philip Japikse MVP, MCSD.NET, MCDBA, CSM, CSP Principal Consultant Pinnacle Solutions Group

By Philip Japikse MVP, MCSD.NET, MCDBA, CSM, CSP Principal Consultant Pinnacle Solutions Group By Philip Japikse Phil.japikse@pinnsg.com MVP, MCSD.NET, MCDBA, CSM, CSP Principal Consultant Pinnacle Solutions Group Principal Consultant, Pinnacle Solutions Group Microsoft MVP MCSD, MCDBA, CSM, CSP

More information

Introduction to LINQ. Paul Litwin Collaborative Data Services (CDS)

Introduction to LINQ. Paul Litwin Collaborative Data Services (CDS) Introduction to LINQ Paul Litwin Collaborative Data Services (CDS) plitwin@fhcrc.org 1 Agenda What is LINQ? Language Features Behind LINQ LINQ Basics LINQ to Objects LINQ to SQL Other LINQ providers 2

More information

An Async Primer. By Bill Wagner August Introduction

An Async Primer. By Bill Wagner August Introduction An Async Primer By Bill Wagner August 2012 Introduction The C# 5.0 release might seem small, given that the single major feature is the addition of async / await keywords to support asynchronous programming.

More information

MCSA Universal Windows Platform. A Success Guide to Prepare- Programming in C# edusum.com

MCSA Universal Windows Platform. A Success Guide to Prepare- Programming in C# edusum.com 70-483 MCSA Universal Windows Platform A Success Guide to Prepare- Programming in C# edusum.com Table of Contents Introduction to 70-483 Exam on Programming in C#... 2 Microsoft 70-483 Certification Details:...

More information

Fast Track to EJB 3.0 and the JPA Using JBoss

Fast Track to EJB 3.0 and the JPA Using JBoss Fast Track to EJB 3.0 and the JPA Using JBoss The Enterprise JavaBeans 3.0 specification is a deep overhaul of the EJB specification that is intended to improve the EJB architecture by reducing its complexity

More information

Advanced Programming C# Lecture 10. dr inż. Małgorzata Janik

Advanced Programming C# Lecture 10. dr inż. Małgorzata Janik Advanced Programming C# Lecture 10 dr inż. Małgorzata Janik majanik@if.pw.edu.pl Winter Semester 2017/2018 Project (part II) Project part II Date: 18.12.2017 (next week!) Prepare the presentation that

More information

Think of drawing/diagramming editors. ECE450 Software Engineering II. The problem. The Composite pattern

Think of drawing/diagramming editors. ECE450 Software Engineering II. The problem. The Composite pattern Think of drawing/diagramming editors ECE450 Software Engineering II Drawing/diagramming editors let users build complex diagrams out of simple components The user can group components to form larger components......which

More information

Call: JSP Spring Hibernate Webservice Course Content:35-40hours Course Outline

Call: JSP Spring Hibernate Webservice Course Content:35-40hours Course Outline JSP Spring Hibernate Webservice Course Content:35-40hours Course Outline Advanced Java Database Programming JDBC overview SQL- Structured Query Language JDBC Programming Concepts Query Execution Scrollable

More information

Functional programming in C#

Functional programming in C# Functional programming in C# A quick approach to another paradigm Nacho Iborra IES San Vicente This work is licensed under the Creative Commons Attribution- NonCommercial-ShareAlike 4.0 International License.

More information

/ / JAVA TRAINING

/ / JAVA TRAINING www.tekclasses.com +91-8970005497/+91-7411642061 info@tekclasses.com / contact@tekclasses.com JAVA TRAINING If you are looking for JAVA Training, then Tek Classes is the right place to get the knowledge.

More information

A modern programming language focused on integration

A modern programming language focused on integration A modern programming language focused on integration Sanjiva Weerawarana, Ph.D. Founder, Chairman & Chief Architect; WSO2 James Clark Independent Joint work with Sameera Jayasoma, WSO2; Hasitha Aravinda,

More information

Course Syllabus C # Course Title. Who should attend? Course Description

Course Syllabus C # Course Title. Who should attend? Course Description Course Title C # Course Description C # is an elegant and type-safe object-oriented language that enables developers to build a variety of secure and robust applications that run on the.net Framework.

More information

Advances in Programming Languages

Advances in Programming Languages Advances in Programming Languages Lecture 8: Bridging Query and Programming Languages Ian Stark School of Informatics The University of Edinburgh Tuesday 14 October 2014 Semester 1 Week 5 http://www.inf.ed.ac.uk/teaching/courses/apl

More information

MVC - Repository-And-Unit-Of-Work

MVC - Repository-And-Unit-Of-Work MVC - Repository-And-Unit-Of-Work What are the Repository and Unit of Work Design Patterns? When you set up an ASP.NET MVC project with the Entity framework, you can think of your project as consisting

More information

Copyright 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 13

Copyright 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 13 THE FOLLOWING IS INTENDED TO OUTLINE OUR GENERAL PRODUCT DIRECTION. IT IS INTENDED FOR INFORMATION PURPOSES ONLY, AND MAY NOT BE INCORPORATED INTO ANY CONTRACT. IT IS NOT A COMMITMENT TO DELIVER ANY MATERIAL,

More information

Enterprise Features & Requirements Analysis For EJB3 JPA & POJO Persistence. CocoBase Pure POJO

Enterprise Features & Requirements Analysis For EJB3 JPA & POJO Persistence. CocoBase Pure POJO CocoBase Pure POJO Product Information V5 Enterprise Features & Requirements Analysis For EJB3 JPA & POJO Persistence CocoBase PURE POJO Uniquely Provides BEST IN INDUSTRY Support For The Full Range Of

More information

Microsoft Visual C# Step by Step. John Sharp

Microsoft Visual C# Step by Step. John Sharp Microsoft Visual C# 2013 Step by Step John Sharp Introduction xix PART I INTRODUCING MICROSOFT VISUAL C# AND MICROSOFT VISUAL STUDIO 2013 Chapter 1 Welcome to C# 3 Beginning programming with the Visual

More information

Developing Data Access Solutions with Microsoft Visual Studio 2010

Developing Data Access Solutions with Microsoft Visual Studio 2010 Developing Data Access Solutions with Microsoft Visual Studio 2010 Course Code: 10265A; Five days; Instructor-Led About this Course In this course, experienced developers who know the basics of data access

More information

LinQ Why we have to teach functional programmming

LinQ Why we have to teach functional programmming LinQ Why we have to teach functional programmming Axel T. Schreiner http://www.cs.rit.edu/~ats/talks/linq/ http://www.cs.rit.edu/~ats/cs-2006-1/14_linq.pdf Principles Map a query language to cascading

More information

POJOs in Action DEVELOPING ENTERPRISE APPLICATIONS WITH LIGHTWEIGHT FRAMEWORKS CHRIS RICHARDSON MANNING. Greenwich (74 w. long.)

POJOs in Action DEVELOPING ENTERPRISE APPLICATIONS WITH LIGHTWEIGHT FRAMEWORKS CHRIS RICHARDSON MANNING. Greenwich (74 w. long.) POJOs in Action DEVELOPING ENTERPRISE APPLICATIONS WITH LIGHTWEIGHT FRAMEWORKS CHRIS RICHARDSON MANNING Greenwich (74 w. long.) contents PART 1 1 preface xix acknowledgments xxi about this book xxiii about

More information

Practical Database Programming with Visual Basic.NET

Practical Database Programming with Visual Basic.NET Practical Database Programming with Visual Basic.NET IEEE Press 445 Hoes Lane Piscataway, NJ 08854 IEEE Press Editorial Board Lajos Hanzo, Editor in Chief R. Abari M. El-Hawary S. Nahavandi J. Anderson

More information

purequery Deep Dive Part 2: Data Access Development Dan Galvin Galvin Consulting, Inc.

purequery Deep Dive Part 2: Data Access Development Dan Galvin Galvin Consulting, Inc. purequery Deep Dive Part 2: Data Access Development Dan Galvin Galvin Consulting, Inc. Agenda The Problem Data Access in Java What is purequery? How Could purequery Help within My Data Access Architecture?

More information

Quick guide to Moq. 1 - About. 2 - Moq basics What is it? Licensing Homepage Contributors. 2.

Quick guide to Moq. 1 - About. 2 - Moq basics What is it? Licensing Homepage Contributors. 2. Quick guide to Moq 1 - About 1.1 - What is it? The author says: Moq (pronounced "Mock-you" or just "Mock") is the only mocking library for.net developed from scratch to take full advantage of.net 3.5 (i.e.

More information

10266 Programming in C Sharp with Microsoft Visual Studio 2010

10266 Programming in C Sharp with Microsoft Visual Studio 2010 10266 Programming in C Sharp with Microsoft Visual Studio 2010 Course Number: 10266A Category: Visual Studio 2010 Duration: 5 days Course Description The course focuses on C# program structure, language

More information

Database Application Architectures

Database Application Architectures Chapter 15 Database Application Architectures Database Systems(Part 2) p. 221/287 Database Applications Most users do not interact directly with a database system The DBMS is hidden behind application

More information

COMM 391. Objectives. Introduction to Microsoft Access. What is in an Access database file? Introduction to Microsoft Access 2010

COMM 391. Objectives. Introduction to Microsoft Access. What is in an Access database file? Introduction to Microsoft Access 2010 Objectives COMM 391 Introduction to Management Information Systems Introduction to Microsoft Access 2010 Describe the major objects in Access database. Define field, record, table and database. Navigate

More information

Web Application Development Using JEE, Enterprise JavaBeans and JPA

Web Application Development Using JEE, Enterprise JavaBeans and JPA Web Application Development Using JEE, Enterprise Java and JPA Duration: 5 days Price: $2795 *California residents and government employees call for pricing. Discounts: We offer multiple discount options.

More information

ADVANCED JAVA TRAINING IN BANGALORE

ADVANCED JAVA TRAINING IN BANGALORE ADVANCED JAVA TRAINING IN BANGALORE TIB ACADEMY #5/3 BEML LAYOUT, VARATHUR MAIN ROAD KUNDALAHALLI GATE, BANGALORE 560066 PH: +91-9513332301/2302 www.traininginbangalore.com 2EE Training Syllabus Java EE

More information

20461: Querying Microsoft SQL Server 2014 Databases

20461: Querying Microsoft SQL Server 2014 Databases Course Outline 20461: Querying Microsoft SQL Server 2014 Databases Module 1: Introduction to Microsoft SQL Server 2014 This module introduces the SQL Server platform and major tools. It discusses editions,

More information

Persistence Performance Tips

Persistence Performance Tips Persistence Performance Tips Dan Bunker Training Overview Persistence Performance Overview Database Performance Tips JPA Performance Tips Spring JDBC Performance Tips Other Tips Prerequisites Java 6+,

More information

Java SE 8 Programming

Java SE 8 Programming Oracle University Contact Us: +52 1 55 8525 3225 Java SE 8 Programming Duration: 5 Days What you will learn This Java SE 8 Programming training covers the core language features and Application Programming

More information

Socket attaches to a Ratchet. 2) Bridge Decouple an abstraction from its implementation so that the two can vary independently.

Socket attaches to a Ratchet. 2) Bridge Decouple an abstraction from its implementation so that the two can vary independently. Gang of Four Software Design Patterns with examples STRUCTURAL 1) Adapter Convert the interface of a class into another interface clients expect. It lets the classes work together that couldn't otherwise

More information

C# Programming in the.net Framework

C# Programming in the.net Framework 50150B - Version: 2.1 04 May 2018 C# Programming in the.net Framework C# Programming in the.net Framework 50150B - Version: 2.1 6 days Course Description: This six-day instructor-led course provides students

More information

Table of contents. CppDepend CQLinq Performance 2 / 21

Table of contents. CppDepend CQLinq Performance 2 / 21 CQLINQ SYNTAX Table of contents 1. Introduction... 3 2. CQLinq Query Edition... 4 3. Predefined domains... 5 4. Defining the code base view JustMyCode with notmycode prefix... 7 5. CQLinq Code Rules...

More information

Java Persistence API. Patrick Linskey EJB Team Lead BEA Systems Oracle

Java Persistence API. Patrick Linskey EJB Team Lead BEA Systems Oracle Java Persistence API Patrick Linskey EJB Team Lead BEA Systems Oracle plinskey@bea.com Patrick Linskey EJB Team Lead at BEA JPA 1, 2 EG Member Agenda JPA Basics What s New ORM Configuration APIs Queries

More information

Pro LINQ. Language Integrated Query in C# Apress. Adam Freeman and Joseph C. Rattz, Jr.

Pro LINQ. Language Integrated Query in C# Apress. Adam Freeman and Joseph C. Rattz, Jr. Pro LINQ Language Integrated Query in C# 2010 Adam Freeman and Joseph C. Rattz, Jr. Apress Contents Contents at a Glance Contents About the Author About the Technical Reviewer Acknowledgments Part 1: Pro

More information