Thursday, November 10, 2011

Virtualization: A Manager's Guide

Virtualization: A Manager's Guide
Publisher: O'Re..illy Media | 2011 | 72 Pages | ISBN: 1449306454 | EPUB | 2 Mb

What exactly is virtualization? As this concise book explains, virtualization is a smorgasbord of technologies that offer organizations many advantages, whether you're managing extremely large stores of rapidly changing data, scaling out an application, or harnessing huge amounts of computational power. With this guide, you get an overview of the five main types of virtualization technology, along with information on security, management, and modern use cases.

Topics include:
Access virtualization-Allows access to any application from any device
Application virtualization-Enables applications to run on many different operating systems and hardware platforms
Processing virtualization-Makes one system seem like many, or many seem like one
Network virtualization-Presents an artificial view of the network that differs from the physical reality
Storage virtualization-Allows many systems to share the same storage devices, enables concealing the location of storage systems, and more..


Tuesday, November 8, 2011

ASP.NET 4.0 in Practice [Paperback]



ASP.NET 4.0 in Practice [Paperback]
Book Description

ASP.NET 4.0 in Practice contains over 100 real world techniques distilled from the experience of a team of MVPs. Using a practical problem-solution-discussion format, the book will guide you through the most common scenarios you will face in a typical ASP.NET application, and provide solutions and suggestions to take your applications to another level.

About the Technology

ASP.NET is an established technology to build web applications using Microsoft products. It drives a number of enterprise-level web sites around the world, but it can be scaled for projects of any size. The new version 4.0 is an evolutionary step: you will find a lot of new features that you will be able to leverage to build better web applications with minimal effort.

About the Book

ASP.NET is a massive framework that requires a large amount of know-how from developers. Fortunately, this book distills over 100 practical ASP.NET techniques from the experience of a team of MVPs, and puts them right at your fingertips.

The techniques are tested and selected for their usefulness, and they are all presented in a simple problem-solution-discussion format. You'll discover methods for key new subjects like data integration with Entity Framework and ASP.NET MVC. Along the way, you'll also find ways to make your applications fast and secure.

Who Should Read It

This book is written for developers familiar with the basics of ASP.NET, looking to become more productive with it.

What's Inside

· The Identity Map pattern in EF 4

· Use Master Pages to define a common UI

· Adaptive Rendering

· Save user login data securely

......and much more

========================================​======= Table of Contents

PART 1 ASP.NET FUNDAMENTALS

1. Getting acquainted with ASP.NET 4.0

2. Data access reloaded: Entity Framework

3. Integrating Entity Framework and ASP.NET

PART 2 ASP.NET WEB FORMS

4. Building the user interface with ASP.NET Web Forms

5. Data binding in ASP.NET Web Forms

6. Custom controls

7. Taking control of markup

PART 3 ASP.NET MVC

8. Introducing ASP.NET MVC

9. Customizing and extending ASP.NET MVC

PART 4 SECURITY

10. ASP.NET security

11. ASP.NET authentication and authorization

PART 5 ADVANCED TOPICS

12. Ajax and RIAs with ASP.NET 4.0

13. State

14. Caching in ASP.NET

15. Extreme ASP.NET 4.0

Download:


Programming C# (2nd Edition) [Paperback]

Programming C# (2nd Edition) [Paperback]


Real Solutions for C# 4।0 programmers: Need fast, robust, efficient code solutions for Microsoft C# 4.0? This book delivers exactly what you’re looking for. You’ll find more than 200 solutions, best-practice techniques, and tested code samples for everything from classes to exceptions, networking to XML, LINQ to Silverlight. Completely up-to-date, this book fully reflects major language enhancements introduced with the new C# 4.0 and .NET 4.0. When time is of the essence, turn here first: Get answers you can trust and code you can use, right now!


Beginning with the language essentials and moving on to solving common problems using the .NET Framework, C# 4.0 How-To addresses a wide range of general programming problems and algorithms. Along the way is clear, concise coverage of a broad spectrum of C# techniques that will help developers of all levels become more proficient with C# and the most popular .NET tools.
Fast, Reliable, and Easy to Use!
Write more elegant, efficient, and reusable code
Take advantage of real-world tips and best-practices advice
Create more effective classes, interfaces, and types
Master powerful data handling techniques using collections, serialization, databases, and XML
Implement more effective user interfaces with both WPF and WinForms
Construct Web-based and media-rich applications with ASP.NET and Silverlight
Make the most of delegates, events, and anonymous methods
Leverage advanced C# features ranging from reflection to asynchronous programming
Harness the power of regular expressions
Interact effectively with Windows and underlying hardware
Master the best reusable patterns for designing complex programs

Download:




Sunday, November 6, 2011

how simple the Entity Framework


To see how simple the Entity Framework is, let’s spend five minutes making it jump
through a simple set of hoops. You’ll need Visual Studio 2010 (the Express editions
will work) and SQL Server (again, the Express editions will work just fine). In SQL
Server, create a database called “EntityFrameworkIsSimple.”
1 Launch Visual Studio 2010.
2 From the View menu, select Server Explorer.
3 In Server Explorer, add a new connection to your EntityFrameworkIsSimple
database.
4 Create a new Console Application project, and call it EntityFrameworkIsSimple.
5 Right-click the project and select Add > New Item. In the Add New Item dialog
box, select ADO.NET Entity Data Model.
6 Click Add.
7 In the Entity Data Model Wizard that comes up, select Empty Model and click
Finish.
8 The entity designer will appear. Right-click in it and select Add > Entity.
9 In the Add Entity dialog box, set the entity name to Person. This will automatically
make the entity set People. (The set is the name of the collection to which
you’ll add new instances of the Person class.)
10 Click OK.
11 A new entity will appear. Right-click on the Properties bar inside of it and select
Add > Scalar Property. (Or just click on the Insert key.)
12 Rename the new property to FirstName.
13 Do this again, creating a new property called LastName.
14 Add another entity and call it Book.
15 To this new entity, add a property called Title.
16 Right-click the “Person” text in the Person entity and select Add > Association.
17 In the Add Association dialog box, change the Multiplicity on the Person end to
* (Many), and change the Navigation Property value at right, from Person to
Authors.
18 Click OK.
19 At this point, your model should look like this:

20 Now, right-click on an empty area of the designer and select Generate Database
from Model.
21 In the Generate Database Wizard that comes up, provide a connection to
your database. Because we’ve added a connection to the database at the
beginning of this walkthrough, it should show up in the drop-down list of
available connections.
22 Click Next.
23 The DDL for a database to hold your model shows up. Click Finish.
24 In the T-SQL editor that comes up, right-click and select Execute SQL. Provide

your local database information when asked to connect.
That’s it! We’ve got a model. We’ve got code. We’ve got a database. We’ve even got a
connection string in App.Config that the designer creates and maintains for you.
Let’s take this model for a test drive. Let’s name the model:

1 In the designer, right-click in an empty area of the canvas and select Properties.
2 In the Properties window, find the property called Entity Container Name and
change its value to SimpleModel.
3 In Program.cs, enter the following code into the body of the Main function:

//Create and write our sample data
using (var context = new SimpleModel()) {
var person1 = new Person() { FirstName = "Stefano", LastName="Mostarda" };
var person2 = new Person() { FirstName = "Marco", LastName="De Sanctis" };
var person3 = new Person() { FirstName = "Daniele", LastName="Bochicchio" };
var book = new Book() { Title = "Microsoft Entity Framework In Action"};
book.Authors.Add(person1);
book.Authors.Add(person2);
book.Authors.Add(person3);
context.People.AddObject(person1);
context.People.AddObject(person2);
context.People.AddObject(person3);
context.Books.AddObject(book);
context.SaveChanges();
}
//Query our sample data
using (var context = new SimpleModel()) {
var book = context.Books.Include("Authors").First();
Console.Out.WriteLine("The authors '{0}' are:", book.Title);
foreach(Person author in book.Authors) {
Console.Out.WriteLine(" - {0} {1}", author.FirstName, author.LastName);
}
}
Console.Read();

4 Compile and run this code. You should see the following output:







As you can see, we’ve created a system that issues queries and updates three different
tables. And not a single join statement in sight!
Of course, in the real world, we have many other concerns: How do we bind these
types to UI elements? How do we send and update them across distributed application
tiers? How do we handle concurrency, dynamic querying, and stored procedures?
While the Entity Framework may be simple to get started with, the real world
is not simple, and the Entity Framework has a host of features for dealing with realworld
situations.


ListBox Control (Visual C#)

ListBox Control (Visual C#)

Code: Determining the Selected Item in a ListBox Control (Visual C#)
Visual Studio .NET 2003
This example determines which item has been selected in a Windows Forms ListBox control.
Example:

private void Form1_Load(object sender, System.EventArgs e)
{
listBox1.Items.Add("One");
listBox1.Items.Add("Two");
listBox1.Items.Add("Three");
}

private void listBox1_SelectedIndexChanged(object sender, System.EventArgs e)
{
if ((string)listBox1.SelectedItem == "Two")
MessageBox.Show((string)listBox1.SelectedItem);
}

Compiling the Code
This example requires:
• A form named Form1 with a ListBox control named listBox1. Set Form1's Load event handler to Form1_Load. Set listBox1's SelectedIndexChanged event handler to listBox1_SelectedIndexChanged.
Note This can also be used with a ComboBox control by substituting a ComboBox control named comboBox1 for the ListBox control and changing the code from listBox1 to comboBox1.

Saturday, November 5, 2011

Lambda Expressions

Lambda Expressions

Back in Chapter 17 we mentioned that lambda expressions were created for use with

LINQ, to create expressions that return a method instead of a single return value.

The same query we’ve been using all along could be written like this with lambda

expressions:

var resultsAuthor =

bookList.Where(bookEval => bookEval.Author == "Jesse Liberty");

As we mentioned in the previous section, the keyword var lets the compiler infer that

resultsAuthor is an IEnumerable collection. You can interpret this whole statement as

“fill the IEnumerable collection resultsAuthor from the collection bookList with each

member such that the Author property is equal to the string ‘Jesse Liberty’.”

The variable bookEval isn’t declared anywhere; it can be any valid name. The Boolean

expression on the righthand side is projected onto the variable, which is passed

to the Where method to use to evaluate the collection. This method syntax takes some

getting used to, and it can be easier to use LINQ’s query syntax, but you should

know how to use the alternative. This example is shown in Example 21-3.

Example 21-3. The LINQ method syntax uses lambda expressions to evaluate the data retrieved

from the data source:


using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace Lambda_Expressions

{

// simple book class

public class Book

{

...

}

class Program

{

static void Main(string[] args)

{

List bookList = new List

{

...

};

// find books by Jesse Liberty

var resultsAuthor =

bookList.Where(bookEval =>

bookEval.Author == "Jesse Liberty");

Console.WriteLine("Books by Jesse Liberty:");

foreach (var testBook in resultsAuthor)

{

Console.WriteLine("{0}, by {1}",

testBook.Title, testBook.Author);

}

}

}

}



Threading in C# : Ordering and Joining

Ordering and Joining

As you saw in Chapter 20, you can also order the results of your queries, and join

data from two different tables in your query. You have this same ability in your

LINQ queries. For example, to retrieve the Book objects in your collection, ordered

by author name (author’s first name, since the author’s full name is a single string),

you’d use this query:

var resultList =

from myBook in bookList

orderby myBook.Author

select myBook;

That output will look like this:

Books by author:

Head First C#, by Andrew Stellman

C# 3.0 in a Nutshell, by Ben Albahari

C# 3.0 Cookbook, by Jay Hilyard

Learning C# 3.0, by Jesse Liberty

Programming C# 3.0, by Jesse Liberty

Programming C#, fourth edition, by Jesse Liberty

The full code for this example is shown in Example:

Console.WriteLine("Books by Jesse Liberty:");

foreach (var testBook in resultsAuthor)

{

Console.WriteLine("{0}, by {1}",

testBook.Title, testBook.Author);

}

}

}

}

Example Ordering the results of a query is simple; just use the OrderBy keyword

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace Ordering_Results

{

// simple book class

public class Book

{

public string Title { get; set; }

public string Author { get; set; }


Threading in C#

How Threading Works

[Joseph Albahari, O’Reilly Media, Inc. All rights reserved. www.albahari.com/threading/]


Multithreading is managed internally by a thread scheduler, a function the CLR typically delegates to the operating system. A thread scheduler ensures all active threads are allocated appropriate execution time, and that threads that are waiting or blocked (for instance, on an exclusive lock or on user input) do not consume CPU time. On a single-processor computer, a thread scheduler performs timeslicing— rapidly switching execution between each of the active threads. Under Windows, a time-slice is typically in the tens of milliseconds region—much larger than the CPU overhead in actually switching context between one thread and another (which is typically in the few-microseconds region). On a multi-processor computer, multithreading is implemented with a mixture of time-slicing and genuine concurrency, where different threads run code simultaneously on different CPUs. It’s almost certain there will still be some time-slicing, because of the operating system’s need to service its own threads—as well as those of other applications. A thread is said to be preempted when its execution is interrupted due to an external factor such as time-slicing. In most situations, a thread has no control over when and where it’s preempted.


Threads vs Processes


A thread is analogous to the operating system process in which your application runs. Just as processes run in parallel on a computer, reads run in parallel within a single process. Processes are fully isolated from each other; threads have just a limited degree of isolation. In particular, threads share (heap) memory with other threads running in the same application. This, in part, is why threading is useful: one thread can fetch data in the background, for instance, while another thread can display the data as it arrives.




Threading’s Uses and Misuses


Multithreading has many uses; here are the most common:


Maintaining a responsive user interface

By running time-consuming tasks on a parallel “worker” thread, the main UI thread is free to continue processing keyboard and mouse events.


Making efficient use of an otherwise blocked CPU

Multithreading is useful when a thread is awaiting a response from another computer or piece of hardware. While one thread is blocked while performing the task, other threads can take advantage of the otherwise unburdened computer.


Parallel programming

Code that performs intensive calculations can execute faster on multicore or multiprocessor computers if the

workload is shared among multiple threads in a “divide-and-conquer” strategy .


Speculative execution

On multicore machines, you can sometimes improve performance by predicting something that might need to be done, and then doing it ahead of time. LINQPad uses this technique to speed up the creation of new queries. A variation is to run a number of different algorithms in parallel that all solve the same task. Whichever one finishes first “wins”—this is effective when you can’t know ahead of time which algorithm will execute fastest.


Allowing requests to be processed simultaneously

On a server, client requests can arrive concurrently and so need to be handled in parallel (the .NET Framework creates threads for this automatically if you use ASP.NET, WCF, Web Services, or Remoting). This can also be useful on a client (e.g., handling peer-to-peer networking—or even multiple requests from the user). With technologies such as ASP.NET and WCF, you may be unaware that multithreading is even taking place—unless you access shared data (perhaps via static fields) without appropriate locking, running afoul of thread safety. Threads also come with strings attached. The biggest is that multithreading can increase complexity. Having lots of threads does not in and of itself create much complexity; it’s the interaction between threads (typically via shared data) that does. This applies whether or not the interaction is intentional, and can cause long development cycles and an ongoing susceptibility to intermittent and nonreproducible bugs. For this reason, it pays to keep interaction to a minimum, and to stick to simple and proven designs wherever possible. This article focuses largely on dealing with just these complexities; remove the interaction and there’s much less to say!




Threading also incurs a resource and CPU cost in scheduling and switching threads (when there are more active threads than CPU cores)—and there’s also a creation/tear-down cost. Multithreading will not always speed up your application—it can even slow it down if used excessively or inappropriately. For example, when heavy disk I/O is involved, it can be faster to have a couple of worker threads run tasks in sequence than to have 10 threads executing at once. (In Signaling with Wait and Pulse, we describe how to implement a producer/consumer queue, which provides just this functionality.)




Creating and Starting Threads


As we saw in the introduction, threads are created using the Thread class’s constructor, passing in a ThreadStart delegate which indicates where execution should begin. Here’s how the ThreadStart delegate is defined:

public delegate void ThreadStart();


  • All examples assume the following namespaces are imported:

using System;

using System.Threading;


    Calling Start on the thread then sets it running. The thread continues until its method returns, at which point the thread ends. Here’s an example, using the expanded C# syntax for creating a TheadStart delegate:



    class ThreadTest

    {

    static void Main()

    {

    Thread t = new Thread (new ThreadStart (Go));

    t.Start(); // Run Go() on the new thread.

    Go(); // Simultaneously run Go() in the main thread.

    }

    static void Go()

    {

    Console.WriteLine ("hello!");

    }

    }

    In this example, thread t executes Go() – at (much) the same time the main thread calls Go(). The result is two nearinstant hellos.

    A thread can be created more conveniently by specifying just a method group—and allowing C# to infer the

    ThreadStart delegate:


    Thread t = new Thread (Go); // No need to explicitly use ThreadStart


    Another shortcut is to use a lambda expression or anonymous method:


    static void Main()

    {

    Thread t = new Thread ( () => Console.WriteLine ("Hello!") );

    t.Start();

    }



    Passing Data to a Thread


    The easiest way to pass arguments to a thread’s target method is to execute a lambda expression that calls the method with the desired arguments:


    static void Main()

    {

    Thread t = new Thread ( () => Print ("Hello from t!") );

    t.Start();

    }

    static void Print (string message)

    {

    Console.WriteLine (message);

    }


    With this approach, you can pass in any number of arguments to the method. You can even wrap the entire

    implementation in a multi-statement lambda:

    new Thread (() =>

    {

    Console.WriteLine ("I'm running on another thread!");

    Console.WriteLine ("This is so easy!");

    }).Start();


    You can do the same thing almost as easily in C# 2.0 with anonymous methods:

    new Thread (delegate()

    {

    ...

    }).Start();


    Another technique is to pass an argument into Thread’s Start method:


    static void Main()

    {

    Thread t = new Thread (Print);

    t.Start ("Hello from t!");

    }

    static void Print (object messageObj)

    {

    string message = (string) messageObj; // We need to cast here

    Console.WriteLine (message);

    }


    This works because Thread’s constructor is overloaded to accept either of two delegates:


    public delegate void ThreadStart();

    public delegate void ParameterizedThreadStart (object obj);


    The limitation of ParameterizedThreadStart is that it accepts only one argument. And because it’s of type object, it usually needs to be cast.


    Lambda expressions and captured variables


    As we saw, a lambda expression is the most powerful way to pass data to a thread. However, you must be careful about accidentally modifying captured variables after starting the thread, because these variables are shared. For instance, consider the following:



    for (int i = 0; i < 10; i++)

    new Thread (() => Console.Write (i)).Start();


    The output is nondeterministic! Here’s a typical result:


    0223557799


    The problem is that the i variable refers to the same memory location throughout the loop’s lifetime. Therefore, each

    thread calls Console.Write on a variable whose value may change as it is running!

    • This is analogous to the problem we describe in “Captured Variables” in Chapter 8 of C# 4.0 in a Nutshell. The problem is less about multithreading and more about C#'s rules for capturing variables (which are somewhat undesirable in the case of for and foreach loops).

    The solution is to use a temporary variable as follows:


    for (int i = 0; i < 10; i++)

    {

    int temp = i;

    new Thread (() => Console.Write (temp)).Start();

    }


    Variable temp is now local to each loop iteration. Therefore, each thread captures a different memory location and there’s no problem. We can illustrate the problem in the earlier code more simply with the following example:


    string text = "t1";

    Thread t1 = new Thread ( () => Console.WriteLine (text) );

    text = "t2";

    Thread t2 = new Thread ( () => Console.WriteLine (text) );

    t1.Start();

    t2.Start();


    Because both lambda expressions capture the same text variable, t2 is printed twice:

    t2

    t2


    Join and Sleep


    You can wait for another thread to end by calling its Join method. For example:


    static void Main()

    {

    Thread t = new Thread (Go);

    t.Start();

    t.Join();

    Console.WriteLine ("Thread t has ended!");

    }

    static void Go()

    {

    for (int i = 0; i < 1000; i++) Console.Write ("y");

    }


    This prints “y” 1,000 times, followed by “Thread t has ended!” immediately afterward. You can include a timeout when calling Join, either in milliseconds or as a TimeSpan. It then returns true if the thread ended or false if it timed out.


    Thread.Sleep pauses the current thread for a specified period:


    Thread.Sleep (TimeSpan.FromHours (1)); // sleep for 1 hour

    Thread.Sleep (500); // sleep for 500 milliseconds


    While waiting on a Sleep or Join, a thread is blocked and so does not consume CPU resources.

    • Thread.Sleep(0) relinquishes the thread’s current time slice immediately, voluntarily handing over the CPU to other threads. Framework 4.0’s new Thread.Yield() method does the same thing—except that it relinquishes only to threads running on the same processor.
    • Sleep(0) or Yield is occasionally useful in production code for advanced performance tweaks. It’s also an excellent diagnostic tool for helping to uncover thread safety issues: if inserting Thread.Yield() anywhere in your code makes or breaks the program, you almost certainly have a bug.

    Naming Threads


    Each thread has a Name property that you can set for the benefit of debugging. This is particularly useful in Visual Studio, since the thread’s name is displayed in the Threads Window and Debug Location toolbar. You can set a thread’s name just once; attempts to change it later will throw an exception. The static Thread.CurrentThread property gives you the currently executing thread. In the following example, we set the main thread’s name:


    class ThreadNaming

    {

    static void Main()

    {

    Thread.CurrentThread.Name = "main";

    Thread worker = new Thread (Go);

    worker.Name = "worker";

    worker.Start();

    Go();

    }

    static void Go()

    {

    Console.WriteLine ("Hello from " + Thread.CurrentThread.Name);

    }

    }


    Programming C# (2nd Edition)

    Programming C# (2nd Edition)


    Programming C# (2nd Edition)


    O'Reilly; 2 edition | ISBN: 0596003099 | 656 pages | February 2002 | PDF | 6 Mb


    C# was designed from the ground up for development on Microsoft's .NET framework. As such, it's a high-performance language that's simple, safe, object-oriented, and Internet-centric.Programming C#, 2nd Edition teaches this new language in a way that experienced programmers will appreciate--by grounding its applications firmly in the context of Microsoft's .NET platform and the development of desktop and Internet applications.

    The first part of this book introduces C# fundamentals, then goes on to explain:

    Classes and objects

    Inheritance and polymorphism

    Operator overloading

    Structs and interfaces

    Arrays, indexers, and collections

    String objects and regular expressions

    Exceptions and bug handling

    Delegates and events

    Part two of Programming C#, 2nd Edition focuses on development of desktop and Internet applications, including Windows Forms, ADO.NET and ASP.NET. ASP.NET includes Web Forms, for rapid development of web applications, and Web Services for creating objects without user interfaces, to provide services over the Internet.

    Part three gets to the heart of the .NET Framework, focusing on attributes and reflection, remoting, threads and cynchronization, and streams. Part three also illustrates how to interoperate with COM objects.

    In much the way that you can see the features and personality of the parents and grandparents in young children, you can easily see the influence of Java, C++, Visual Basic, and other languages in C#. The level of information in Programming C#, 2nd Edition allows you to become productive quickly with C# and to rely on it as a powerful addition to your family of masteredprogramming languages.


    Download:

    http://www.amazon.com/Programming-C-2nd-Jesse-Liberty/dp/0596003099/ref=sr_1_6?s=books&ie=UTF8&qid=1320745832&sr=1-6


    Friday, November 4, 2011

    Entity Framework 4 In Action

    Entity Framework 4 In Action
    E-Book Details:
    Entity Framework 4 in Action is an example-rich tutorial for .NET developers with full coverage of EF 4 features. The book begins with a review of the core ideas behind the ORM model and shows through detailed examples and larger case studies how Entity Framework offers a smooth transition from a traditional ADO.NET approach.
    Entity Framework builds on the ADO.NET persistence model and the language features of LINQ to create a powerful persistence mechanism that bridges the gap between relational databases and object-oriented languages.
    Entity Framework 4 in Action is an example-rich tutorial that helps .NET developers learn and master the subject. It begins by explaining object/relational mapping and then shows how you can easily transition to EF from ADO.NET. Through numerous focused examples and two larger case studies, the book unfolds the EF story in a clear, easy-to-follow style. Infrastructure and inner workings of EF are discussed when you need them to understand a particular feature.
    Who Should Read It
    This book is written for .NET developers. Knowledge of ADO.NET is helpful but not required.
    What Inside
    Full coverage of EF 4 features
    Layer separation, Data Layer, and Domain Model
    Best practices
    E-Book Summary
    Paperback: 576 pages
    Publisher: Manning Publications (May 2011)
    Language: English
    ISBN-10: 1935182188
    ISBN-13: 978-1935182184

    Download


    Pro Entity Framework 4.0

    Scott Klein, "Pro Entity Framework 4.0"
    Apress | 2010 | 280 Pages | ISBN: 159059990X | PDF | 17,2 MB

















    Learning SQL and Programming at the same time is somehow a burden to the part of the programmers because it's so time consuming writing lots of queries to be embedded to the codes With the advent of this technology, the Object Relational Mapping (ORM) developers is no longer in focus more on the SQL, how to construct it and embed to the program codes because they only use objects to map all the tables in the database. And "Entity Framework" is one of the ORMs used nowadays because it makes DOT NET developers easier and more maintainable with regards to their codes. And so, you need to learn this,"Pro Entity Framework 4.0 Pdf" as a DOT NET Developer, so click the link below the image.
    Previously, SQL developers have been able to almost entirely ignore the SQLCLR and treat it as a peripheral technology—almost an extension to the main product। With the advent of LINQ and the Entity Framework, this is no longer the case, and the SQLCLR is moving to the center stage। It’s a powerful product but, for many, it is an entirely new way of working with data। Pro Entity Framework 4।0 will help readers understand the implications of the Entity Framework and how it can be used to change their development practices and make their databases more powerful and flexible. Since many readers will be encountering this subject for the first time, the book will create an inclusive environment in which the concepts of .NET development are approached from the perspective of the Relational T–SQL developer to foster a sense of shared–ownership in keeping with Microsoft’s latest best practices.Comprehensive coverage of the new greater and more challenging integration with .NET 3.5 Written from a real–world perspective and examines the features offered by LINQ and the Entity Framework that will help solve problems experienced by professional developers Contains insight, interpretation, analysis, and evangelism instead of just plain fact What you’ll learnExamine the SQLCLR architecture. Learn the fundamentals of LINQ. Use LINQ with SQL and datasets. Extend LINQ. Gain a holistic view of the features of LINQ and the Entity Framework and how they segue with other features of the .NET Framework and native features of the operating system. Write practical applications of LINQ and the Entity Framework. Who is this book for?.NET and SQL developers who use Microsoft SQL Server 2008 as their back–end database. Database administrators who create, manage, and secure those databases.

    Download:

    http://www.amazon.com/Server-Entity-Framework-Experts-Voice/dp/159059990X



    Programming Entity Framework: Building Data Centric Apps with the ADO.NET Entity Framework

    Programming Entity Framework:

    Building Data Centric Apps with the ADO.NET Entity Framework"

    O'Reilly Media | 2010 | ISBN: 0596807260 | 912 pages | File type: PDF | 11,6 mb











    Programming Entity Framework is a thorough introduction to Microsoft's new core framework for modeling and interacting with data in .NET applications. This highly-acclaimed book not only gives experienced developers a hands-on tour of the Entity Framework and explains its use in a variety of applications, it also provides a deep understanding of its architecture and APIs. Although this book is based on the first version of Entity Framework, it will continue to be extremely valuable as you shift to the Entity Framework version in .NET Framework 4.0 and Visual Studio 2010. From the Entity Data Model (EDM) and Object Services to EntityClient and the Metadata Workspace, this book covers it all.

    Download: