Fabrice's weblog
Tools and Source
-
ADO.NET Entity Framework documents are back (ADO.NET vNext)
The original articles about the ADO.NET Entity Framework didn't stay online very long, but this time, two official documents are available:
- The ADO.NET Entity Framework Overview
- Next-Generation Data Access (Making the conceptual level real)
In these documents, you'll encounter the following:- The Entity Data Model
- Entity SQL
- LINQ to Entities
- LINQ to DataSets
- LINQ to SQL (formerly known as DLinq)
We still don't know if DLinq will continue to live for a very long time (I don't see why we'd need two object-relational mapping solutions from Microsoft except for creating confusion).
Update:
These documents are also available online as web pages, not just Word documents.- The ADO.NET Entity Framework Overview
- Next-Generation Data Access (Making the conceptual level real)
Cross-posted from http://linqinaction.net -
Bye bye DLinq, Hello Linq for Sql and the ADO.NET Entity Framework!
Some of you may have read the documents on ADO.NET 3.0 and the Entity Framework when they were published, before they were promptly removed. The big question since that time has been: What will happen to DLinq in regard to the future of ADO.NET, which seemed to offer the same services and more with a different solution?
Well, Andres Aguiar has the scoop, live from TechEd in Boston: apparently both frameworks will be kept.
OK, it actually happened. We'll have two mapping technologies in .NET v.next.
What? Two object-relational mapping technologies for .NET from Microsoft? What's the point?! Why not raise ObjectSpaces from the dead while the are at it...
LinQ for SQL, previously known as DLinQ is the 'simple' mapping technology.
LinQ for Entities, will be on top of the new ADO.NET Entity Framework, and will be the 'complex' (we could say 'real') mapping technology.
I feel the same as Andres:
I think Microsoft did this for internal politically correctness (they did not want to not to ship any of the frameworks) but I can't see why this is good for the .NET Framework as a whole.
The team that worked on DLinq worked on ObjectSpaces before and killing DLinq after ObjectSpaces may have been to hard for Microsoft's developers after all the years they have spent on these projects.
To me, two solutions mean an excess of one. I don't see how people will be able to choose, and I think one will have to disappear sooner or later...
Cross-posted from http://linqinaction.net -
Bye bye WinFX, Hello .NET Framework 3.0!
Somasegar, Corporate Vice President of Microsof's Developer Division, has announced that the WinFX brand has been killed! You should now talk about ".NET Framework 3.0" instead when you refer to the package that contains WPF (Windows Presentation Foundation - Avalon), WCF (Windows Communication Foundation - Indigo), WF (Workflow Foundation - Windows Workflow Foundation - Winoe), WCS (Windows CardSpace - InfoCard).
The .NET Framework 3.0 runs on the .NET CLR 2.0.
What will the framework delivered as part of the Orcas wave be called? .NET Framework 3.5? .NET Framework 4.0? And it will contain C# 3.0 and VB.NET 9.0...
Clear as mud, isn't it? Microsoft's marketing likes to play funny games... -
Copying and pasting text with styles removed - PureText
I've been doing a lot of copy&paste operations between several Word documents or HTML pages lately, and I got fed up with doing "Edit | Paste Special... | Unformatted Text" all the time to avoid having my Word documents polluted with styles I don't want.
A great little free tool came to the rescue: Steve Miller's PureText. I highly recommend that you give it a try!
Pasting text with formatting and styles removed is as easy as using the Apple+V shortcut, an easy replacement for CTRL+V.
Oh, for those who don't know, the Apple key is the one that looks like a window that looks like a waving flag located between CTRL and ALT... -
Viewing the SQL generated by DLinq
As demonstrated by Sahil in the last issue of his Demystifying DLinq series, you can get see the SQL DLinq would execute for a given query at debug-time using the built-in Query Visualizer:
This useful little tool can also run the SQL query and show you the results if you want.
In addition to the Query Visualizer, you can also get the SQL queries at runtime using the following line of code to redirect the SQL to the console: db.Log = Console.Out;
Of course, you can also redirect the logs to anything else as far as it's a System.IO.TextWriter.
Even better, you can also call GetQueryText(myQuery) on your DataContext instance to get the SQL at any time you want for a given query.
If you have updated in-memory objects returned by DLinq, you can get the SQL that would be executed on the database by using DataContext.GetChangeText().
A difference between GetQueryText() and GetChangeText() on one side, and the Query Visualizer on the other side, is that with the latter you can see the value of the SQL query's parameters.
Cross-posted from http://linqinaction.net -
Focusing on LINQ
I've recently published some posts about LINQ, and as I wrote before, you can expect to see more on this weblog in the coming months. The reason? I'm currently writing a book on LINQ!
I've opened a web site dedicated to the LINQ, XLINQ, DLINQ technologies and to the book. If you visit linqinaction.net you'll be able to find useful pointers to learn more about these technologies.
Hopefully, the book and the site will give you everything you need to understand LINQ. -
"Java succumbing to .NET in my organization", a Java developer
A Java developer reports that the management of the group he works for inside a contractor company has decided to move from Java to .NET. The developer gives the reasons he sees behind this decision.
I guess we could sum up what he writes like this: "Too much choice is bad". Probably not much you don't know already, but it's an interesting read. Is this a trend you've noticed?
Of course choice is good, and I hate to see everyone wait for Microsoft to provide a solution to all their problems. But having too much options seems to be a problem, especially for managers who prefer not having to make choices...
Read "Java Succumbing to .NET in my Organization"
PS: of course, this doesn't mean that we don't have a lot of choice in .NET considering that we have close to 900 tools and libraries in the SharpToolbox! -
Using Cache outside web applications
Just because someone asked me how to do it today: here is an article on how to use the System.Web.Caching.Cache object outside of web applications, such as in your Windows Forms applications or console applications.
No need to reinvent the wheel. -
Orcas release date, first estimates
Roger Jennings has spotted very interesting information on Scott Guthrie's weblog. It's not like there is anything but excellent content on Scott's blog, but I haven't seen this kind of information elsewhere before.
Scott has published a first post on using LINQ with ASP.NET projects a few days ago. Roger writes:Scott's LINQ with ASP.NET post provoked a large number of comments and replies, but the most interesting reply included this gem:
We are looking to ship the second half of next year. We will start having full Orcas CTP drops (of all technologies) starting later this summer, and will also have a go-live license of Orcas before the final RTM date. So not too far off now when you can use the above techniques in production.
This is the first Orcas RTM estimate and go-live committment directly from a Microsoft employee that I've encountered.
If you browse the whole set of comments, you may spot other related information, which includes:- "We are making some changes to the CLR for that release, but are also being careful to keep a high runtime compat bar to ease deployments (the following release will then have more engine additions)."
- "Orcas will be compatible with the 2.0 runtime. There will then be optional framework components you can install as well."
-
Sample uses of LINQ, DLINQ and XLINQ
My article entitled Sample uses of LINQ, DLINQ and XLINQ is now available in English.