Je rencontre certaines particularités avec LINQ to SQL.LINQ to SQL Particularités
Avec une requête relativement simple, je veux sélectionner certains domaines, mais ont les champs de date formatées sous forme de chaînes, dont je suis OBTENUS comme ceci:
var list = dataContext.MyLists.Single(x => x.ID == myId);
var items = from i in list.MyItems
select
new
{
i.ID,
i.Sector,
i.Description,
CompleteDate = i.CompleteDate.HasValue ? i.CompleteDate.Value.ToShortDateString() : "",
DueDate = i.DueDate.HasValue ? i.DueDate.Value.ToShortDateString() : ""
};
Plus tard j'ai essayé la requête suivante, qui est exactement la même chose, sauf que je suis tout droit de mon interrogation datacontext, plutôt que d'un élément dans ma première requête:
var items = from i in dataContext.MyLists
select
new
{
i.ID,
i.Sector,
i.Description,
CompleteDate = i.CompleteDate.HasValue ? i.CompleteDate.Value.ToShortDateString() : "",
DueDate = i.DueDate.HasValue ? i.DueDate.Value.ToShortDateString() : ""
};
le premier fonctionne très bien, mais la seconde requête donne un:
Impossible de traduire l'expression '...' en SQL et n'a pas pu la traiter comme une expression locale.
Si je supprime les lignes qui Formatent la date, cela fonctionne très bien. Si je supprime la vérification .HasValue cela fonctionne également bien, jusqu'à ce qu'il y ait des valeurs nulles.
Des idées?
Anthony
Semble vous avez deux questions totalement différentes. On sélectionne à partir de MyItems dans un objet MyList. Le second est la sélection à partir des objets MyList (pas MyItems). Les types de données sont-ils les mêmes pour les deux? Il est assez difficile de déboguer ceci sans savoir quelles sont les structures de la table. – Bryant