-
If you’ve been following me on Twitter , I’ve been digging a bit into MongoDB . When I was involved with the planning of NoSQLEast this past year, I sat down and used it in anger and was quite pleased with the results. Using it with a language which allows for quick prototyping such as F#...
-
There has been a lot of talk going around involving the Microsoft Worldwide Partner Conference 2009 , but another event, largely overshadowed, was the 10th annual Microsoft Research Faculty Summit . During this summit, Tony Hey , the Microsoft External Research Vice President, announced the release...
-
This evening I was writing some code (Yay!) for an Xml based MEF catalog I am prototyping. I came across the need to invoke a set of methods on an IEnumerable<T> that was returned from a LINQ to XML query. Unfortunately no such animal exists on IEnumerable. It took me < 5 mins to write this...
-
While I have finished my series on LINQ to SQL I wanted to talk about some of the reaction. In his summary post of 30 June Roger Jennings mentions his concerns that because the SQL Server Data Programmability group, who are bringing us Entity Framework v1, now owns LINQ to SQL we will not see the kind...
-
Previously: Architecting Linq to SQL, part 9 End of the line This is intended to be the last part in this series and I wanted to take the opportunity to talk about a number of related if diverse topics. I would like to look at what I would like to see in the next version, and talk about when and where...
-
Previously: Architecting LINQ To SQL part 8 LINQ To SQL with N-Tier: Why is there pain? People tend to experience pain using LINQ in N-Tier scenarios because they are trying to pass entities between layers. You can find some examples of this complaint, not to pick on anyone but just to avoid repeating...
-
Scott has a great post where he dispels the following two myths about using LINQ to SQL. LINQ to SQL requires you to start with a database schema. LINQ to SQL requires your classes to implement INotifyPropertyChanged and use EntitySet<T> for any associated collections. Looking at the post I think...
-
What a difference a day makes. Spent the better part of yesterday trying to figure out the Linq to NHibernate so that I could use Contains on something other than a string, like so: from job in session.Linq( ) where officeIds.Contains( job.Office.Id ) select job; The book Linq in Action , as well as...
-
Previously: Architecting LINQ To SQL Applications, part 7 Tiers A layer, such as we discussed Part 2 , in is not a tier. A layer is a logical unit of division; a tier is a physical unit of division. The two need not be the same. Software may be layered within a single process running on one machine or...
-
Previously: Architecting LINQ To SQL Applications, part 6 The topic of managing entity lifetimes is an important one as many of the issues that people have when using an ORM for the first time relate to a lack of understanding of how an ORM manages objects loaded from the Db, or that are to be inserted...
-
Previous : Architecting LINQ To SQL Applications, part 5 Mapping with XML files instead of Attributes Greg Young pointed out in the comments to the last post that using attributes can clutter your domain objects. Although it is simpler to show attributes first, so that you can relate rolling your own...
-
Let's return to the series on how to architect applications that use LINQ To SQL. First of all, for those you who missed it, a summary of where we have been: Part 1, Introduction Part 2, Layered Architectures Part 3, DAOs and Repositories Part 4, Dynamic Queries Introduction I had a couple of requests...
-
Dynamic Queries One question that arises from time to time is: how do I do dynamic queries in LINQ. The problem usually stems from allowing the users to generate search criteria, perhaps through a filter for a list for example. Because we cannot predict the combinations of values that the user will choose...
-
DAOs and Repositories One of the concerns we want to separate our domain from, is how we persist the domain model. The domain should not need to where: file, database, service etc. or how. In the specific context of an RDBMS, because we do not want the domain to be relational database or its schema we...
-
What is LINQ? LINQ stands for Language Integrated Query and is a DSL within C# for querying data. It is implemented by language extensions to C# 3.0. It allows us to concisely express queries against our collections of data. LINQ comes in a variety of flavours: Objects, SQL, and XML which allow us to...