Problématique
Nous avons eu une problématique avec la langue de SQL Server, et plus particulièrement des effets de la langue sur le 1er jour de la semaine.
En effet, dans le cadre d’une requête en utilisant Entity Framework, nous faisions du regroupement par semaine. La plupart des SQL Server de développement sont installés en Français, mais pas le mien, en Anglais. Du coup lorsque j’exécutais la requête, je n’avais pas le même résultat qu’eux (le premier jour de la semaine étant le dimanche et pas le lundi comme eux, la requête me retournait la semaine regroupée à partir du dimanche).
Ce qui faisait planter au passage les tests chez moi, ce qui n’est pas très pratique…
Solution
Il existe toujours la possibilité d’exécuter des commandes T-SQL comme :
SET DATEFIRST 1
ou
SET LANGUAGE FRENCH
L’inconvénient de ces commandes est qu’elles ne fonctionnent que pour la session actuelle. J’ai essayé de le mettre dans le constructeur de notre DbContext, mais sans succès (les tests s’exécutant en parallèle, il n’a pas l’air d’avoir trop apprécié).
J’en suis venu à modifier le langage de mon utilisateur dans SQL Server. Pour le faire, deux options :
- Via SQL Server Management Studio :
- Via une requête T-SQL :
ALTER LOGIN sa WITH DEFAULT_LANGUAGE = french
Source :
http://www.experts-exchange.com/Database/MS-SQL-Server/Q_24751670.html