| « How to create a template engine in 1 hour | How to enable Listview Databinding in LayoutTemplate » |
First bits of Euss 2.0
The development of Euss 2.0 is progressing (Nicolas is working hard), and I can already show you some working stuff. Here is the use of NLinq as the primary query language, and the same one using pure LINQ. Note the differences (there aren't actually).
var context = CreateObjectContext();
context.InitializeRepository();
Person p = new Person() { Name = "Tintin" };
p.Pet = new Pet() { Name = "Milou" };
context.BeginTransaction();
context.Serialize(p);
context.CommitTransaction();
// using nlinq
Assert.AreEqual(1, context.LoadScalar<int>("(from Model.Pet pet select pet).Count()"));
Assert.AreEqual(1, context.LoadScalar<int>("(from Model.Person person select person).Count()"));
// using LINQ
Assert.AreEqual(1, (from Model.Pet pet in context select pet).Count());
Assert.AreEqual(1, (from Model.Person person in context select person).Count());
As usual, we don't care about the repository implementation.
Trackback address for this post
4 comments
Comment from: Quentin P [Visitor]
Je ne suis pas (encore) trop le projet mais je vois déjà une différence de taille entre les deux approches.
La requête NLinq est écrite dans un string, on ne peut donc apparemment pas avoir accès à l'intelliscence.
La requête NLinq est écrite dans un string, on ne peut donc apparemment pas avoir accès à l'intelliscence.
10/14/09 @ 19:35
Comment from: Sébastien Ros [Member]
S'il n'y avait vraiment aucune différence, on n'aurait pas pris la peine de gérer les deux. La version string permet de garantir que les utilisateurs sous .NET 2.0 peuvent aussi utiliser la même syntaxe. Du coup il n'y a qu'un seul langage de requête à connaitre, et en plus il est légèrement standard sur .NET, LINQ.
10/15/09 @ 07:21
Comment from: Quentin P [Visitor]
Merci pour cette précision.
Je n'avais effectivement pas vue que le projet ciblé entre autre .NET 2.0
J'approuve donc 100% (voir plus) ce projet.
Je n'avais effectivement pas vue que le projet ciblé entre autre .NET 2.0
J'approuve donc 100% (voir plus) ce projet.
10/15/09 @ 19:47