mardi, juin 24 2008
LINQ to SQL (detach / re attach dans un modèle N-tiers)
Par Thierry THOUA le mardi, juin 24 2008, 21:54
lundi, avril 7 2008
Npgsql2 Beta3 est sorti !!!
Par Thierry THOUA le lundi, avril 7 2008, 22:35
mercredi, mars 19 2008
LINQ to SQL (locking)
Par Thierry THOUA le mercredi, mars 19 2008, 22:05
Par défaut, lors d'une mise à jour d'un tuple, Linq2SQL va utiliser tous les champs dans sa clause WHERE. Il est cependant possible de modifier ce comportement via un paramètre "UpdateCheck" nommé de l'attribut ColumnAttribute qui se place au dessus des propriétés ... Ce paramètre accepte un enum qui a trois valeurs.
- Never => La propriété n'entre jamais en ligne de compte.
- Allways => (valeur par défaut). La propriété entre toujours en ligne de compte dans un update.
- WhenChanged => La propriété n'est prise en compte que si elle est modifiée.
L'autre possibilité est le "pessimistic locking" (désolé ... je ne connais pas le terme en français ;-). Il est possible de bloquer un tuple le temps d'une modification. Ceci ne m'a jamais semblé une bonne idée ... Cela ajoute un lag voir des problèmes d'accès en cas de plantage etc. Mais il est intéressant d'avoir connaissance de l'existence de cette possibilité dans LINQ to SQL.
lundi, mars 17 2008
Accès/modification de tuples en // sous Linq to SQL (lock ?)
Par Thierry THOUA le lundi, mars 17 2008, 21:06
jeudi, février 21 2008
Log des requêtes SQL effectuées par DLINQ
Par Thierry THOUA le jeudi, février 21 2008, 21:52

Pagination sous SQL Server
Par Thierry THOUA le jeudi, février 21 2008, 21:32
[csharp] var q = (from c in dataContext.Blog select c).Skip(5).Take(10);Et voici le code SQL généré:
SELECT [t1].[BlogID], [t1].[Title]
FROM (
SELECT ROW_NUMBER() OVER
(ORDER BY [t0].[BlogID], [t0].[Title]) AS [ROW_NUMBER], [t0].[BlogID], [t0].[Title]
FROM [Blogs] AS [t0]
) AS [t1]
WHERE [t1].[ROW_NUMBER] BETWEEN @p0 + 1 AND @p0 + @p1
ORDER BY [t1].[ROW_NUMBER]
En SQL simple, on aurait également pu effectuer un query du type:
SELECT TOP 10 * FROM (SELECT ROW_NUMBER() OVER (ORDER BY BlogID, Title) AS RowNumber, * FROM Blogs WHERE RowNumber > 5Cependant, je reste d'avis qu'il aurait été plus sympathique de pouvoir utiliser LIMIT / OFFSET ;-).
jeudi, octobre 18 2007
DLinq 1..N, la base des relations + select
Par Thierry THOUA le jeudi, octobre 18 2007, 18:40
dimanche, septembre 23 2007
DLinq, c'est magique ?
Par Thierry THOUA le dimanche, septembre 23 2007, 00:58