I wrote up a list of some of the invaluable resources I have been relying on while diving deeply into the new March CTP of Orcas.
[A DevLife post]
I wrote up a list of some of the invaluable resources I have been relying on while diving deeply into the new March CTP of Orcas.
[A DevLife post]
In a previous interation, I managed to track down some sample code that built a LINQ call to a stored procedure, the class which it returns and executed it in LINQ to SQL.
The code has changed dramatically in the March CTP. Luckily, Mike Taulty beat me to it and I leveraged the C# code in his post to revise mine.
One of the things I was so silly to do in my previous test was to hand code the return class rather than just create it in the designer and return that.
But all of this is not totally necessary since you can now drag and drop stored procs onto the LINQ to SQL Visual Modeler and make calls to it. Interestingly the return type is just created on the fly at run time so it’s not even an issue – yay to anonymous types.
However, it’s still nice to know how to build this stuff becasue drag n drop doesn’t solve every coding problem. So check Mike’s post for the C# version.
Here is a working version in VB.
“CustOrderHist” is the name of the stored procedure in my database.
What this is doing is
1) using the attribute to hook it up to the sproc
2) taking in a parameter of customerID and associating it with the parameter @CustomerID in the stored proceudre
3) Returning and IEnumerable of type CustOrderHistoryResult (the class I created in the designer that matches the structure of what the sproc returns).
On the client side, I can now take the result and do whatever I want with it, such as bind it to a gridview on a web page.
<StoredProcedure(Name:=”CustOrderHist”)> _
Public Function GetCustOrderHist(<Parameter(Name:=”CustomerID”)> ByVal customerID As String) As IEnumerable(Of CustOrderHistoryResult)
Dim result As IQueryResults(Of CustOrderHistoryResult) = _
ExecuteMethodCall(Of CustOrderHistoryResult)(Me,
MethodInfo.GetCurrentMethod, customerID)
Return result
End Function
Oh, and the cat, too.
I’ve been working from th ekitchen for about a week so I can hang out with the dogs. They don’t do stairs anymore and we haven’t cleared the path through the snow for them to get to my office from the outside.
So here they are hanging out withme. G.B. the cat has found his favorite warm spot in the house (with Tasha) and Daisy is on her cushy bed. What a mush.

Thanks again to Kate (she sure helps funnel good info for me), I see that Microsoft is sponsoring a contest to win a full paid trip to this [Microsoft sponsored?] summit.
You need to be a software developer chick (sorry guys), live in one of these 5 countries: Austria, Denmark, France, Germany or the UK, and not work for Microsoft.
The submission is an essay and due by April 2.
The stars have aligned and I’m going to MIX07.
I am ignoring the fact that this is going to mean a whole lot of flying . In a 5 week period I will fly to Orlando and back (from Vermont), then to Seattle and back and then to Las Vegas and back. Oy, silly me.
VB9 has come a long way in the new March CTP of Orcas! Paul Vick has a quick list of what is now in there. And there are a lot of good details in the msdn documentaiton that comes along with the CTP.
A few things I noticed quickly when bringing my LINQ for SQL demos over to the new bits.
Here’s a before (as in earlier CTP) and an after (March CTP) example of a simple query that does all of these things.
OLD
From s In db.Suppliers _
Select New {Company := CompanyName, Country, Products}
NEW
From s In db.Suppliers _
Select New With {.Company = s.CompanyName, s.Country, s.Products}
Here’s what it looks like with a nested query
From s In db.Suppliers _
Select New With {.Company = s.CompanyName, s.Country, _
.Products = (From p In s.Products _
Select New With {p.ProductName})}
OLD with Order By
From s In db.Suppliers _
Select New {s.CompanyName, s.Country, s.Products} _
Order By CompanyName
NEW with Order By
Dim mylist = From s In db.Suppliers _
Select s2 = New With {s.CompanyName, s.Country, s.Products} _
Order By s2.CompanyName
I’ve seen samples where “s” has been used for both the reference to the items in the db.suppliers collection AND to the name of the new anonymous type. That scares me, so I used a new variable (s2).
There is also a whole new set of query samples in the MSDN documentation.
Yesterday I proclaimed that today would be a powder day – regardless of how much work I have to do. We had a forecast of 7-12 inches of new snow.
The promised snow started before we went to bed last night.
But when I woke up in the middle of the night to a howling wind and then again this morning to the same, I knew it would be another productive day in front of the computer. It’s wild out there. Rich is still heading out to the ski hill. He’s insane. I certainly wouldn’t want to be sitting in the chair lift in this weather.
It’s what he refers to as a “character building day.” That’s an old joke from when he worked for a builder that, even in the winter, had his crew arrive at 6am and work until 4pm. Even when it was 5 degrees out and all then ended up doing was shoveling snow out of the foundation. I’d last about five minutes in a job like that. Give me my cozy office chair any day! 🙂
The ADO NET Team has been cranking out fab content on their blog. Brian Dawson just wrote a post all about Object Services.
In trying to sort out all of the options that we now have with Entity Framework and LINQ, I’m always happy to see a list like this. But go read the whole post so nothing is out of context
What can you do with Object Services?
Here’s a bullet list of some of the normal operations which object services can provide:
· Query using LINQ or Entity SQL
· CRUD
· State Management – change tracking with events
· Lazy loading
· Inheritance
· Navigating relationships
More features of Object Services allow for data conflicts resolution. For example, Object Services supports:
· Optimistic concurrency
· Identity resolution – keeping on copy of the object even from several different queries
· Merging
· Refreshing data with overwrite options (ie: server wins or client wins)
I will be speaking in Albany NY at TechValley.NET on March 12th about ADO.NET Orcas.
In April I will be doing a two city tour speaking at Bellingham.NET (a group led by Andrew Robinson, that is a brand new member of INETA) and then at South Sound .NET in Olympia, Washington run by my old INETA pal, Paul Mehner (with help from another pal, Camey Combs.)
In between these two trips, I’ll be at DevConnections in Orlando and Code Camp 7 in Waltham, Mass. I guess “travel season” is starting!
I’m looking forward to all of these trips! Now back to that new CTP release.
After reading this in the Free Press, I had a great idea what we can do with any funds coming to Vermont – support the high tech industry here! How fitting.
Vermont shares in $90 million settlement with Samsung
Published: Wednesday, February 7, 2007
MONTPELIER – Vermont is one of 40 states to settle with electronics manufacturer Samsung in an antitrust lawsuit, Vermont Attorney General William Sorrell announced this week.
The $90 million nationwide settlement with Samsung Semiconductor, Inc. and Samsung Electronics Co., Ltd. arose from a claim of a price-fixing scheme among Samsung and several other of the world’s largest computer memory chip manufacturers that began in the 1990s.
The settlement, which is still subject to a court review, does not yet detail how the money will be meted out among the suit’s participating states and consumers.