Tweener Weekend at TechEd
Wednesday, May 21 2008 - net, tweener, teched - 2 comments
You probably heard that this year Tech Ed will be 2 weeks long. This leaves a weekend (June 7th and June 8th) in between where there will be a lot of people hanging around. Fortunately there are a lot of events in the area already scheduled and raring to go. One of these events is the Tweener event also called the ]inBetween[ event run by the Florida .NET community. There will be presentations and open sessions for those who want even more. A full agenda can be seen on the inbetween web site.

There are also Open Space sessions where anyone who wants can sign up to speak at a session (first come first serve). These sessions are open flooring and run 30 minutes. You can sign up here for Open Space.
You can register for the sessions on the web site or by clicking this link.
Here is a sample of the agenda for those 2 days (click it for a link to the full agenda): 
Visual Studio 2008 and .NET 3.5 SP 1 Beta Download
Monday, May 12 2008 - visual-studio, net, entity-framework, linq, sql-server, astoria - 1 comments
Soma announced this morning that Visual Studio 2008 and .NET 3.5 SP 1 is now ready and can be downloaded. This includes several updates, includes support for SQL Server 2008, and has a few new products including the Entity Framework, LINQ to Entities and ADO.NET Data Services (aka Astoria). ScottGu posted some notes regarding what's included in the service pack, as well.
Of course all of this is released 2 days before I have a demonstration on the Entity Framework and LINQ to Entities on Wednesday to the Sarasota .NET and SQL Server User groups. So I have a few modifications to make for my presentations.
I received an error when I first tried to install it. The problem was that the service pack was in conflict with Silverlight Tools Beta for Visual Studio 2008 which I was using to create/edit Silverlight 2 applications. Once uninstalling this i was able to get the service pack to install properly. Scott Gu's post discusses this issue as well as the importance of making sure you install Vista SP 1 first.
Check out ScottGu's post for full details.
.NET Development with the Wiimote
Monday, May 12 2008 - net, wiimote - 0 comments
My friend and colleague Brian Peek has been developing some awesome and fun applications for a while. As a contributing author to MSDN's Coding 4 Fun Bran has been creating some cool applications that you should really check out at his site at www.brianpeek.com.
Not his latest, but certainly one of his most famous, achievement is his Wiimote .NET Library and the uses that he is putting it to. Brian got the attention of Newsweek magazine for the Wiimote .NET library that he authored. They interviewed him and the article can be found on line at http://www.newsweek.com/id/136381. The print article should be in the May 19th issue of the International Edition of Newsweek.
Best of Simple-Talk Coming Soon
Wednesday, April 30 2008 - asp-net, net - 0 comments
Tony Davis of Simple-Talk.com sent me a message today letting me know that they are releasing an eBook called "Best of Simple-Talk" and that one of my articles regarding gathering RSS feeds will be in it as well as my colleague Jonas Stawski's articles. I do not believe it is released yet but I am told that it will be released through promotions, which means it likely will be free.
They sent me a preview of the eBook titled "Jit N' Run: The Best of Simple-Talk - ASP.NET Vol. 1". It has a lot of good stuff in it with authors like myself, Jonas Stawski, Jesse Liberty and Dan Wahlin. I assume the eBook will be out in the wild in the near future.
Promising "Update Model" Feature Additions in Next EDM Release
Saturday, April 19 2008 - entity-framework, edm, net, ado-net - 0 comments
If you have tried the "Update Model from Database" feature in the Entity Framework's EDM tool (latest version is the EDM CTP 2) you probably have noticed that it currently does not fully update the DB model as well as you hoped. I know I got excited when I first saw the feature, but quickly had a let down as I knew I had to wait til the next release to get more out of this feature. This month Noam Ben-Ami gave us a preview of some of the new features that will be in the next release of the EDM. You definitely want to check this out.
I am thrilled to see that the Update Model from Database feature will not remove items from the conceptual model. Though instead of simply showing errors, I would not mind it asking me with some type of wizard that prompts me with suggestions. For example, when a column has been removed from a table in the database it would be awesome if a list of issues was presented and along with options to take action (such as remove property from the entity and refactor). yeah, yeah, I know its being picky :)
I also love how its smart enough to detect that a hierarchical relationship in the conceptual model may represent multiple tables in the the database. Its getting much closer!!!
ReSharper 4 EAP Roadmap
Friday, April 18 2008 - resharper, net - 0 comments
I've been downloading a new set of EAP bits for ReSharper 4 once a week since they opened access to the nightly builds and it really its coming together. The latest bits are much more stable than earlier versions and the features that are implemented are getting very close to being complete.
ReSharper v3 is in full release but does not support some of .NET 3.5 and VS.NET 2008's best features. Here is a roadmap that I grabbed from the ReSharper web site that outlines the highlights of Resharper v4.
If you have not grabbed the latest EAP bits, I suggest you give them a try. As a rule I only grab ones that are listed as tested successfully by JetBrains. Otherwise I avoid them :) I am now using EAP build 775 and have had not problems.
ReSharper 4.0 is the next major version of the product featuring a number of important enhancements:
- Support for both Visual Studio 2005 and 2008
- Comprehensive support for C# 3.0 language features, including:
- New code analysis, context actions and quick-fixes
- New refactorings (such as Convert to Extension Method, Convert to Automatic Property, Convert Anonymous Type to Named)
- Updated IntelliSense
- Many more intelligence and productivity features
- Full set of refactorings available for VB.NET
- New quickfixes and context actions for XAML files
- Referenced assemblies are now taken into account in null-reference analysis thanks to external annotations. ReSharper is packaged with annotations for the .NET Framework assemblies
- Code Cleanup — a tool for ensuring compliance with code guidelines and enhancing code structure
- Complete Statement — a feature that will complete language constructs and get you ready to write the next statement
Cars, Planes, Cars, Planes, and Cars
Tuesday, April 08 2008 - net, training - 1 comments
This past weekend I went online to check in for my flight on Sunday. I've used online check-ins for as long as they have been around. I have not been to a ticket counter in years. Yet for some reason I could not check in online this past weekend. So I call Orbitz and they tell me they know nothing and that I must call the airline directly to find out how to check in. So I call the airline and they tell me there are no problems with my reservation but I must check in at the airport. So I, being very very stupid in hindsight, believed them. I went to the Sarasota, FL airport on Sunday and they tell me I cannot check in because my my flights have been delayed and canceled. Um ... What!?!?!?!?!?!
There were no alternatives out of Sarasota to get to my destination that evening. I was furious when they told me that they knew this for hours yet did not post it on their web site nor tell me any of this when I called them a few hours ago! The best they could do was get me out the following day which would cause me to miss half the day at a .NET training class where I was the supposed to be training this week.
I found a flight out of Tampa, which is a 1 hour 15 minute drive from the Sarasota airport that was leaving in 1 hour and 20 minutes. I decided to try it. I got back in my car, drove up to Tampa, and of course a thunderstorm with the fury of Heaven poured down on me. It took me 1 hour and 25 minutes to get there, I figured it was too late. Then I saw that the flight was delayed by 15 minutes! I ran to the ticket counter to get my ticket ... 50 people were in line ahead of me! Somehow that line moved so fast I got my ticket (they actually let me buy it!). I ran up the escalator, to the shuttle, into security who gave this sweaty little Italian man some interesting looks, and to the gate as they were closing the doors. i was literally yelling for them to wait as they stepped into the doorway. It was crazy.
I made it. I made it.
Next up, Orlando DevConnections!
Tuesday, April 08 2008 - entity-framework, mobile, net, devconnections - 0 comments
DevConnections in Orlando is just around the corner and I'll be there presenting 4 sessions on mobile development, the Entity Framework and SQL Server. So much has changed with these technologies in the past few months so I have all new code samples for new techniques using the latest bits, especially with the Entity Framework. if you are going to be at DevConnections in April in Orlando, please stop by one of my sessions and say hi.
Here are the 4 session abstracts:
VMD302: Data Access Techniques and LINQ in Mobile Applications
John Papa
Data access layers, domain entities, and databases are all integral components of dealing with data in an enterprise application. Mobile applications also rely heavily on these types of data vehicles and stores. This session will delve into different ways of handling data in mobile applications using ADO.NET objects and domain entities. I will demonstrate different data binding techniques in mobile applications using both domain entities and DataSets as well as techniques using LINQ to interact with data on a mobile device.
VDA203: Getting Started with the Entity Framework
John Papa
The Entity Framework can be used to architect applications against a conceptual model that is mapped to the logic model. The Entity Framework has many components including EntityClient, Entity SQL, Object Services, the Entity Data Model, and LINQ to Entities. This session will discuss the architecture of the Entity Framework and explain the roles of each of its different components. It will also demonstrate how to write queries using the different options as well as how to evaluate which options within Object Services to use or if to use the EntityClient provider directly.
VDA202: Customizing Entity Data Models in the Entity Framework
John Papa
Designing the Entity Data Model with the Entity Framework is a critical aspect in developing an architecture. Once the model has been created it is beneficial to know how to customize the model to adapt to the business problems. This session will explore the different XML files that map the objects to the database schema and show how to modify them when needed. I will explain how you can design an object model with the Entity Framework using both the Entity Data Model Wizard as well as by manually editing the XML files. I will demonstrate how to implement inheritance, how to merge multiple entities within a conceptual model, how to take advantage of features such as conditions in the mapping layer, how to implement complex types, and how to hook into stored procedures. This session will demonstrate how to interact with the conceptual model using EntityClient, Entity SQL, and LINQ to Entities to perform queries and make updates to a database.
.NET 3.5 Language Enhancements
Friday, February 01 2008 - net - 0 comments
After what feels like a year of h#ll that it took me and my family to move to Florida, I finally made it. It is still ongoing to get everything settled, but once I do get all set up I will get back to blogging and writing and speaking a bit more. I took 2 months off of writing and speaking, but now things are kicking back in gear.
You can find my latest article on Simple-Talk. This one explains some of the new features in C# that are coming in VS 2008 and .NET 3.5 including anonymous types, object initializers, collection initializers, automatic properties, and implicitly typed variables. Many of these useful features are also the foundation for using LINQ. Anyway, I hope you enjoy this article. I will be speaking at several conference later this summer and this fall. I hope to see some of you there.
New EF CTP! ADO.NET Entity Framework June 2007 CTP is Available
Friday, February 01 2008 - net, ado-net, entity-framework, linq - 4 comments
The ADO.NET team has released the latest bits for the ADO.NET Entity Framework with the June 2007 CTP. There are samples on CodePlex, too. It claims many changes and support for a lot of new features ... I grabbed this partial list from their post:
- Changes in:
- Object Services
- Query
- Entity Client
- the Entity Data Model Wizard in Visual Studio
- no more default constructors in code-generated classes
- improvements to stored procedure support
- New Features:
- IPOCO
- detaching from long-running ObjectContext instances
- multiple entity sets per type
- support for referential integrity constraints
- span support
- transactions
- serialization
Notice the IPOCO support. This is something that is a step in the right direction for getting the entities in the EDM to move towards full POCO. I am downloading the bits now and can't wait to unwrap the candy!
Data Access "Practically Done"
Friday, February 01 2008 - net, ado-net, entity-framework, linq, ent-lib, sql - 3 comments
I will be kicking off my move to South Florida in a few weeks with a 1 day event for the “Practically Done” event series. On Wednesday August 1st and on Saturday August 4th I will be presenting “Data Access Done Right”, a full day event in Orlando.
Register here for Wednesday, August 1st – 9am to 5pm
Register here for Saturday, August 4th – 9am to 5pm
I encourage you to bring your laptops as code samples will be given out to all attendees at the beginning of the event. You can follow along with the samples as they are being discussed and demonstrated. Seating is limited for this event and discounts are available for early sign ups.
| "Practically Done" .NET Events | |
| Not everybody can take a week off from work to attend a technology conference that may be thousands of miles away and cost a fortune. Most of the time, those conferences cover technologies that won't be released for months or years, anyway. ASPSOFT recognizes the need for local, single day workshops that focus on current .NET technologies that you can apply to your projects today. "Practically Done" .NET Events feature:
Data Access Done Right Speaker: John Papa Location: Orlando, FL Data access is an integral component of an enterprise application’s architecture. Retrieving data, saving data, passing data between tiers, presenting data to a user interface, and managing transactions are all important pieces of a data access strategy. In this “Practically Done” workshop, Microsoft MVP John Papa will show you how to apply these techniques in your multi-tier applications today using Visual Studio 2005. The topics that will be covered in detail are:
| |
ADO.NET Entity Framework Overview
Friday, February 01 2008 - net, ado-net, entity-framework, linq - 0 comments
My July 2007 Data Points column has been posted to the MSDN Magazine web site. This edition is titled "ADO.NET Entity Framework Overview".
I wrote this using the March CTP and then revised it using the Orcas Beta 1, so the code included works in the most recently available bits. Knowing that changes are on their way, I tried to focus the article on the concepts and technical aspects of the EF that make ups its foundation. The components such as Object Services, Entity Client, and LINQ to Entities will evolve but are fairly well baked. Aspects I expect to change (although I have no evidence to support it) are the way the entities are implemented. For example, I expect they may evolve into more of a POCO style with no interface nor base class required. This topic has been beaten pretty hard, so I won't add anything further to it for now since I agree with most of what has already been blogged about. There is one piece which I know is on its way, however late to the game it may be ... the EDM Designer.
Anyway ... this article is an overview of how the EF is structured and how its pieces work. I inlcuded some examples as well. It was difficult to keep the word count down on this one ... my first draft had over 7000 words in it (supposed to be about 3000). So we cut it down to a reasonable and digestable size. I hope you enjoy it!
Code to Gather RSS Feeds
Friday, February 01 2008 - net, ado-net - 2 comments
I recently wrote an article for SimpleTalk.com titled Gathering RSS Feeds Using Visual Studio and RSS.NET. The article is now online and available to read. Here is the abstract for this article:
Integrating RSS feeds into applications has become very popular. There are several tools (such as Microsoft Outlook 2007) available to read blogs and news from RSS feeds. There are also some tools available (such as RSS.NET and the ASP.NET team's RSS Toolkit) that can aid you in the development of customizing feeds in your applications. This article will use the RSS.NET assembly, which can be freely downloaded and used from http://www.rssdotnet.com/.
For those who are not familiar with SimpleTalk, it is a web site that publishes articles on various technology topics. The site is operated by Red Gate Software, which has some popular database tools that many of us use.
Orcas Beta 1 - VPC Images and New Patch Available
Friday, February 01 2008 - net, ado-net - 0 comments
Last week the Orcas Beta 1 was made available for download by Microsoft. It is madeup of 8 large RAR files and can be downlaoded from here: http://msdn2.microsoft.com/en-us/vstudio/aa700831.aspx
Some of my excitement was tempered a bit when a bug was found that caused problems with the EDM Wizard. The team was quick to respond and they have already released a patch for it, as posted on their web site:
Late last week, after bits had been finalized, we found a bug in the ADO.NET Entity Data Model Wizard that shipped with Visual Studio “Orcas” beta 1. The problem has now been corrected.
Please download and install the patch available at: http://www.microsoft.com/downloads/details.aspx?FamilyID=f69e9eb8-0ebd-4fba-a4cc-2050297ba75b&displaylang=en to fix the problem.
I have been busy editing my slides for VSLive Orlando where I am doing a full day workshop on data access. Only 1.5 hours of which is focussed on Orcas ... but I still had to review all of the beta 1 tools to make sure my samples still work for May 10th's workshop. So far everything seems fine, but I am glad the patch came out so I can fully test the walk throughs, too. That is the fun of presenting beta topics (or pre-beta topics). :)
Entity Framework: CSDL, MSL and SSDL Schemas
Friday, February 01 2008 - net, ado-net, entity-framework, linq - 0 comments
Due to the lack of a designer and because I am very curious, I’ve been digging through the XML for the CSDL, MSL and a little bit into the SSDL schemas for the Entity Framework’s Entity Data Model. Even if you are waiting for the Designer to be released (date TBD) it cannot hurt to get familiar with these XML file structures. For example, the MSDL’s schema supports the following for the mapping Conditions:
<!-- Type for Condition Element-->
<xs:complexType name="TCondition">
<xs:attribute ref="tns:Value" use="optional" />
<xs:attribute ref="tns:Name" use="optional" />
<xs:attribute ref="tns:ColumnName" use="optional" />
<xs:attribute ref="tns:IsNull" use="optional" />
</xs:complexType>
Currently the conditions in mapping only allow you to compare a column to a scalar value or to check for NULL. You can create multiple conditions, which will create an AND situation. However you cannot combine the conditions with OR’s (i.e. you can’t say get all orders > $10,000 or orders < $100). In fact, nor can you compare values at this point (i.e. < ). These features are surely going to be in future versions, though.
By having the XSD’s for the CSDL, MSL AND SSDL you can explore what options are available even if the intellisense is not working in the latest CTP J (which has happened to me at times). For example, I noticed that complex properties are in the schema, however they are not fully supported at this time. But at least this gives me a glimpse at what might be supported in the future.
I open the XSD’s in Visual Studio.NET Orcas, but of course you can use other tools like XML Spy. Here is a snapshot of the TableMappingFragment’s schema from the MSL file:
If you are looking for the XSD’s, you can find them in the March Orcas CTP located at this folder:
C:\Program Files\Microsoft Visual Studio 9.0\Xml\Schemas
And the file names are:
- CSDLSchema.xsd
- CSMSL.xsd
- SSDLSchema.xsd
Friday - Tampa - .NET University
Friday, February 01 2008 - net - 2 comments
A few weeks go I mentioned that many of my colleagues and I from ASPSOFT will be presenting several topics in Tampa, Florida on April 6th, 2007. There are still seats left for this event (and its free). All topics are covered at a 100-level, and labs will be included with the courseware.
This 1 day training event is titled “.NET University” and will cover:
- Windows Communication Foundation
- Windows Presentation Foundation
- Windows Workflow Foundation
- CardSpace
If you are interested, make sure you register for the event.
Event Code: 115720
4/6/2007
9:00 AM - 5:00 PM
Welcome Time:
4/6/2007 8:30 AM Eastern Time
General Event Information
Featured Product/Topic: Visual Studio 2005 Professional Edition
Recommended Audiences: Solution Architects, Software Developers, Students, Technical Decision Makers
aspsoft.com, Microsoft and DevFish.NET are proud to present .NET University as a 1-day training course for our customers! Join us to get an overview of the .NET Framework (.NET 3.0), including Windows Communication Foundation, Windows Presentation Foundation, Windows Workflow Foundation, and Windows CardSpace. All topics are covered at a 100-level, and labs will be included with the courseware. Upon completion, attendees will receive their official .NET University alumni T-Shirt and a Certificate of completion. Space is limited, so register early to get your seat at .NET University!
April Fools Day Idea - Coding For Fun
Friday, February 01 2008 - net - 0 comments
Being the mischievous sort that I am, I am always interested in a creative (yet harmless) prank. A friend of mine, Brian Peek, is a master at creating interesting hardware based solutions with .NET. Recently he has come up with some great ideas for the holidays such as an application that will drip blood on a computer screen, his motion detecting blood squirting skull, or the less demonic and more cheerful Holiday light show. Brian also has several other neat ideas (some of which involve minor hardware and some of which do not) that he writes about in his column with MSDN Coding For Fun.
Anyway … Brian came out with a neat idea for an April Fools Day joke. The article in Coding For Fun that Brian wrote describes how to make an application lay in wait til an assigned day and time and then it will take a screenshot of the monitor(s) and rotate then and/or zoom them in and out. I won’t give out all of the details here as Brian did a great job at explaining them in his article. All of the code is included in both VB and C# and it requires nothing but .NET. So go check out his article and stay away from my computer!
Oh … and I love the disclaimer message that appears when you download the code. It basically says you run this at your own risk J I guess they were covering themselves in case Brian was the next great virus creator. Can’t blame them really. But it is funny J
Rotating Screen for April Fools Day
![]()
Motion Detecting, Blood Squirting Skull

Entity Framework Thoughts
Friday, February 01 2008 - net, ado-net, entity-framework, linq - 13 comments
I agree that there is quite a bit of work to do yet with the Entity Framework. Earlier today Scott posted his thoughts on the challenges that the Entity Framework faces. He makes some good points which really show how the approach to application development greatly influences which tools and development strategies developers will choose. I agree that applications have a better chance to succeed when they are "business rule" driven.
I prefer to build a data model and a business model together, not one before the other. In its current state the Entity Framework can be generated from an existing data model (or can be created by hand with XML). The data team at Microsoft knows this is a limitation and is working on solutions to make building and tweaking entities, mapping the conceptual model to a logical model, and overall design of the EDM much more fluid. I am very excited about seeing what they produce on this end.
Building off of the example that Scott worked, assume you have an entity that you are working with and realize that you need to add a new property (or field) to it to establish a business rule (or to write a test if you are using TDD). You want to add the field or property to the entity and keep moving along with your business rule (probably using Resharper or the like to create the field/property combination). The idea is to keep your brain patterns flowing with the business rule and not to step outside of tat to implement a new field/property and populate it. You want to create the additional property, use it in your code, and map it to the models quickly.
With the Entity Framework in its current state you could add a new partial class and add the field and property to it, but then you are deviating from the EDM with a field that you will eventually want to persist in the database anyway. Another option with the Entity Framework is to add the property to the conceptual model and mapping it to a database field (that you must create). This is an option that makes sense but is the most difficult to implement at this time. I believe this is one area where the Entity Framework has room to grow and the data team can add more value to the development community: Having a way to easily amend business entities, have it flow through the conceptual model ,and map them to a logical model to the database.
There is a lot left to work out and the more people who use the Entity Framework, participate in the forums, test the CTP’s, and provide feedback where they can, the better the end result will be. I believe that the data teams at Microsoft are absolutely committed to this technology and I am personally very excited about the Entity Framework ….. more excited than I have been about a technology in a long, long time.
Stored Procedures and CUD (minus the R) in the Entity Framework
Friday, February 01 2008 - net, ado-net, entity-framework, linq - 0 comments
The Data Access Team published a great post that has some superb explanations on how to make the Entity Framework use stored procedures for inserts, udpates and deletes. (It does not yet support stored procedures for retrieving data.) Obviously there are pieces missing, as Shyam states (such as retrieving data via sprocs), but to see CUD (minus the R) working in the EF with sprocs is great.
One knock I can already hear though is how people will have to change the existing sprocs. Specifically in the example where the additional parameter must be added to support the EF's determination of which entities/sprocs to execute in which order. Obviously it would be better if a future evolution could do without this.
Fantastic to see sproc support born in the Entity Framework!
On a related note, I am having a heck of a time trying to get an overview of ADO.NET Orcas to fit into a publishable article. There is just sooooo much to it and so little space to write about it. I could go on for days on this topic :)
LINQ to Entity Samples added to 101 Samples!
Friday, February 01 2008 - net, ado-net, entity-framework, linq - 1 comments
Earlier in March I posted that some samples intended for use with the March CTP of Orcas were available for download. These samples replace the samples that are linked from the MSDN docs in the CTP. One thing these samples lacked was the LINQ to Entities samples. Today, Charlie Calvert posted a link to updated samples that include LINQ TO Entities samples inside the SamplesQueries example project. Inside the SamplesQueries project you will find a 101 LINQ to Entities samples.
This is great news! Previously there were tons of examples in this project for LINQ to SQL, LINQ to XML, LINQ to Objects and LINQ to DataSets. With the additin of LINQ to Entities, it means I have plenty of material to play with and keep my head buried in ADO.NET and the Entity Framework.
Entity Framework and Object Services Primer
Friday, February 01 2008 - net, ado-net, entity-framework, linq - 0 comments
As I am sure you have read by now, the Entity Framework is a huge leap forward in the next iteration of ADO.NET in Orcas. Currently the implementation has a conceptual layer represented by a CSDL file. This CSDL file contains the XML that represents conceptual model (the objects). The conceptual layer is mapped to the database through a series of lower layers (the Mapping and the Source). The Source is represented by a SSDL file which contains XML that represents the database schema. The MSL file contains the XML that maps the CSDL to the SSDL. All 3 of these files can be generated using the EDM Model Wizard in the Orcas Feb/March CTP.
Once the model has been generated (or created by hand), the data can be manipulated and interrogated through the conceptual model. Thus a level of abstraction is created where an application can interact with data through an object model that is mapped to the underlying data source. LINQ to Entities or Entity SQL can be used to interact with the EDM. LINQ to Entities is great when you can define your query expressions at design time and enhance them with parameters. Entity SQL can also be sued to achieve the same goals, however since Entity SQL is string based it can support more dynamic queries where queries can be built on the fly.
There is quite a bit to chew with the Entity Framework, more than enough for a entire series of articles. And I have not even touched on the other ADO.NET components such as LINQ to SQL or LINQ to DataSets, much less the designers, LINQ to objects, LINQ to XML, EntityClient and much much more.
It is an exciting time to be involved with data access technologies! And some unforeseen changes are yet to come as many have already experienced the changes through the CTP’s of LINQ and Orcas. But it seems evident that the data access team is making its biggest change to data access in a very long time.
Updated Samples for Orcas March 2007 CTP
Friday, February 01 2008 - net, ado-net, entity-framework, linq - 0 comments
Charlie Calvert has posted some samples intended for use with the March CTP of Orcas. These samples replace the samples that are linked from the MSDN docs in the CTP (which is good since I have had mixed result wth them so far). Charlie also posted a video on the samples here that helps explain them.
Entity Framework Terminology
Friday, February 01 2008 - net, ado-net, entity-framework, linq - 0 comments
I have some articles to write on the Entity Framework and LINQ to ADO.NET, so I will be busy in the depths of EF for a while. I have been spending the past few days immersing myself in the Orcas March CTP. While there are features I am still longing for (such as the EDM Designer) this is the most EF & LINQ complete CTP in a long time. While the MSDN Documentation is not complete by any means, there is some great information in there. For example, I found this fantastic page in the help docs that is a glossary of the Entity Framework terminology. I pulled this directly from their documentation, which you can find at this link (ms-help://MS.MSDNQTR.v90.en/MS.MSDN.v90/MS.VisualStudio.v90.en/WD_ADONET/html/fa2a1bd1-6118-487b-8673-eebc66b92945.htm ) in the March CTP's help docs. This is a great reference to lean on when learning the EF ... kudos to the data team for creating and including this information in the CTP.
Entity Framework terminology:
alias
An attribute of the Schema element in CSDL and SSDL schemas that can be substituted for the full namespace to shorten element references in the schema.
association
The definition of a relationship between entity types.
association set
A logical container for instances of associations of the same type.
base type
A parent type or super-type in the EDM from which derived types inherit some of their properties.
complex type
An entity type whose properties have internal properties. Used as a property of an entity type or of another complex type.
conceptual schema definition language (CSDL)
XML-based dialect used to define the entity types, associations, entity containers, entity sets, and association sets of a conceptual model.
conceptual model
Abstract specification for the entity types, associations, entity containers, entity sets, and association sets comprising an application domain.
constraint
Restricts the possible values of a property and ensures that a value is valid.
container
A logical grouping of entity and association sets.
degree
The number of entity types in a relationship. Relationships are classified as unary, binary, ternary, or n-ary.
direction
Refers to the asymmetrical nature of some associations. Direction is specified with FromRole and ToRole attributes of ReferentialConstraint elements in entity data models.
end
A participating entity in an association.
entity
An instance of an entity type.
EntityClient
A storage-independent ADO.NET data provider containing classes such as EntityConnection, EntityCommand, and EntityDataReader. Works with Entity SQL and connects to storage specific ADO.NET Data Providers, such as SqlClient.
entity container
Specifies the sets of entity types and associations that will be available in a specified namespace.
Entity Data Model (EDM)
A system for defining application data as sets of entities and relationships.
Entity Framework
A set of technologies that supports development of data-oriented software applications by allowing developers to work with conceptual models that are mapped to logical schemas in data sources.
entity-relationship model
A data model that uses relationships between entities as the basis for describing application data schemas.
entity set
A logical container for entities of the same type, mapped to tables in a database.
Entity SQL
A storage-independent dialect of SQL that works directly with conceptual entity schemas and that supports entity data model features such as inheritance and relationships.
entity type
A named set of properties representing a top-level item in a data model.
enumeration
A simple type whose single value is selected from a specified set of options.
facet
A constraint, such as Nullable, MaxLength, or Precision, that limits the allowable values for a property.
helper method
User-defined operations implemented in partial classes that add functionality to objects generated from entity data models.
key
The attribute of an entity type that specifies which property or set of properties is used to identify unique instances of the entity type.
language integrated query (LINQ)
A query syntax that defines a set of query operators that allow traversal, filter, and projection operations to be expressed in a direct, declarative way in C# and Visual Basic.
LINQ to Entities
The use of language integrated query operators with objects representing a conceptual model.
mapping
A set of correspondences between items in a conceptual model and items in a storage model.
mapping specification language (MSL)
An XML-based dialect used to map items defined in a conceptual model to items in a storage model.
metadata
Data used to describe the structure of other data, including the SSDL XML file, which describes the structure of data in a data store.
Metadata Workspace
A class that represents the metadata runtime service component that provides support for retrieving metadata.
multiplicity
The number of entities that can exist on each side of a relationship.
navigation property
A property of entity types that uses an association to reference related entities.
object services
Services provided by the Entity Framework to classes generated from a set of metadata.
object context
A base class that provides object services such as tracking and saving changes, and that contains a connection to the underlying data store.
referential constraint
An element of an SSDL entity data model that specifies the direction of an association with FromRole and ToRole attributes. Corresponds to a CSDL navigation property.
relational model
The logical model used to define the tables, columns, and constraints in a database.
relationship
A logical connection between entities.
role
The name given to each end of an association to clarify the semantics of the relationship.
simple type
Primitive type used for defining properties in entity data models.
store schema definition language (SSDL)
XML-based dialect used to define the entity types, associations, entity containers, entity sets, and association sets of a storage model, often corresponding to a database schema.
table-per hierarchy (TPH)
A method of modeling a type hierarchy in a database that includes the attributes of all the types in the hierarchy in one table.
table-per-type (TPT)
A method of modeling a type hierarchy in a database that uses multiple tables with one-to-one relationships to model the various types.
XML (simple type)
Can contain well-formed XML or valid XML data. The facets of this type control which kind of XML data can be contained within it.
31 Days of Resharper Tips
Friday, February 01 2008 - net - 0 comments
In case you have not caught his series already, Joe White is blogging his 31 favorite Resharper tips in his series of posts called 31 days of Resharper. Resharper has saved me a ton of time in coding in .NET with its Find Usages, live templates, compiler warnings, and many of its navigation features. If you love using Resharper like I do or you are considering finding out what all the fuss is about, check out his series so far. He is about half way through his tips as he has posted the following entries so far:
Day 0: Basics and installation
Day 1: The gray, the red, and the squiggly
Day 2: The color bar and the green box
Day 3: ReSharper survival guide, or, What's up with my keybindings?
Day 4: Auto closing delimiters
Day 5: Integrated unit-test runner
Day 6: Shared options in the .resharper file
Day 7: Code formatting
Day 8: Find Usages
Day 9: Parameter Info
Day 10: Go To Type
Day 11: Code navigation
Day 12: Type Hierarchy view
Day 13: File Structure view
Day 14: Suggested variable names
Day 15: The Ctrl+Space family
Day 16: Importing namespaces with Alt+Enter
Day 17: Change All with Alt+Enter (and, Introducing the red light bulb)
Day 18: Adding things with Alt+Enter
Day 19: Implement Members with Alt+Enter
Day 20: Fix errors and warnings with Alt+Enter
Day 21: Code transformations with Alt+Enter
Day 22: Generating code with Alt+Ins
Day 23: Introduce Variable (and, introducing Ctrl+Shift+R to refactor)Day 26: Change Signature
Day 27: Extract Method
Day 28: Really Extract Static Method and Extract Property
.NET University in Tampa (Free Event)
Friday, February 01 2008 - net - 2 comments
Many of my colleagues and I from ASPSOFT will be presenting several topics in Tampa, Florida on April 6th, 2007. The free 1 day training event is titled “.NET University” .We will be presenting an overview of the .NET Framework (.NET 3.0), including Windows Communication Foundation, Windows Presentation Foundation, Windows Workflow Foundation, and Windows CardSpace. All topics are covered at a 100-level, and labs will be included with the courseware. Upon completion, attendees will receive their official .NET University alumni T-Shirt and a Certificate of completion. Space is limited, so register early to get your seat at .NET University!
OK, so I copied some of the text above from the .NET University web site J. It should be a fun day. If you are interested, make sure you register for the event.
Event Code: 115720
4/6/2007
9:00 AM - 5:00 PM
Welcome Time:
4/6/2007 8:30 AM Eastern Time
General Event Information
Featured Product/Topic: Visual Studio 2005 Professional Edition
Recommended Audiences: Solution Architects, Software Developers, Students, Technical Decision Makers
aspsoft.com, Microsoft and DevFish.NET are proud to present .NET University as a 1-day training course for our customers! Join us to get an overview of the .NET Framework (.NET 3.0), including Windows Communication Foundation, Windows Presentation Foundation, Windows Workflow Foundation, and Windows CardSpace. All topics are covered at a 100-level, and labs will be included with the courseware. Upon completion, attendees will receive their official .NET University alumni T-Shirt and a Certificate of completion. Space is limited, so register early to get your seat at .NET University!
Entity SQL & the EntityClient Provider in ADO.NET vNext and Orcas
Friday, February 01 2008 - net, sql, ado-net, entity-framework, linq - 0 comments
If you watch the ADO.NET team’s blog then you may have seen the post from today from Zlatko Michailov (Program Manager, ADO.NET). Here are the highlights from his post:
In this Entity SQL (eSQL) post he discusses:
- what Entity SQL is
- a brief example of how to use it to retrieve a hierarchical set of parent-children data
- (Categories and their respective Products)
- No join syntax necessary!
- an example Connection String for the EntityClient provider
- how the EntityClient returns a common DbDataReader so we can create and fill our own classes from it
- that this uses the well known ADO.NET pattern of Connection, Command, Parameter and DataReader classes
- class names are prefixed with “Entity”
- that the next Orcas release should have this functionality
- however, he explains that it will not yet be able to use DML (aka no INSERT, UPDATE, DELETE)
There are a lot of features I am looking forward to in the next Orcas CTP (hopefully a February CTP and not a March one). I have high hopes for the future with features like Entity SQL, LINQ to SQL, LINQ TO DataSet, EDM, and LINQ to Entities. Kudos to the ADO.NET team for taking this direction!
Interesting Orcas & LINQ Links
Friday, February 01 2008 - net, ado-net, entity-framework, linq - 3 comments
Here are a few good links to Orcas material (some old and some new). There is a lot of good and bad material out there with LINQ. These are some of the better ones that I have found. Feel free to comment about any other good LINQ / Data Access related links.
Downloads:
· The best way to run LINQ with the most features using the current CTP’s remains to be to
o create a VPC image
o install the May 2006 LINQ CTP,
o the August 2006 ADO.NET vNext CTP,
o and the September 2006 ADO.NET vNext EDM Designer Prototype CTP.
Books:
· Here is a great book on using LINQ and the C# 3.0 features by Fabio Claudio Ferracchiati titled LINQ for Visual C# 2005. The material is slightly dated as it was written with early previews, but its still a great read.
· Here is Ferracchiati’s VB version of that same book.
· This book (titled Foundations of LINQ in C# 3.0) is not out yet, but is scheduled for a March 1 release date. IT looks to be interesting based on some of Joseph Rattz’s blog posts.
C# 3.0 Features
· Anders Hejlsberg has a great video on how C# 3.0 is evolving. This discussed many of the C# 3.0 features that are the underpinnings of what makes LINQ tick. (posted mid 2006)
· Sahil Malik has some great posts on C# 3.0. I recommend getting familiar with the C# 3.0 features before jumping into any of the Orcas /ADO.NET vNext data access features.
o Demystifying C# 3.0 - Part 1: Implicitly Typed Local Variables "var"


