2010-06-18 7 views
0
public class Service1 : IService1 
{ 
    [OperationContract] 
    public List<decmal> GetEnterCounts(DateTime StartTime, DateTime EndTime) 
    { 
     var db = new FACT_ENTER_EXIT(); 
     return (from e in **db.ENTER_CNT** where StartTime < db.DATE_ID && db.DATE_ID > EndTime select e).ToList(); 
    } 
} 

Ok, donc j'ai cette base de données FACT_ENTER_EXIT contenant le ENTER_CNT champ (annulable = false, type = décimal) que je veux revenir comme une listeLinq à une erreur de requête SQL

VS2010 recrache l'erreur suivante à 'db.ENTER_CNT':

Erreur 1 Impossible de trouver une implémentation du modèle de requête pour le type de source 'decimal'. "Où" pas trouvé.

Je dois manquer quelque chose, quelqu'un pourrait s'il vous plaît signaler où je vais mal ??

Merci à l'avance, Tom

+0

Vous définissez un champ sur la base de données de niveau? Et puis vous essayez donc sélectionnez plusieurs valeurs de ce champ? Quelque chose semble mal. – ErikHeemskerk

Répondre

2

Vous souhaitez sélectionner la table , et non à partir d'une colonne , puis sélectionnez votre colonne.

Essayez:

from e in db.MyTable 
where StartTime < e.DATE_ID && e.DATE_ID > EndTime 
select e.ENTER_CNT 

Cela ressemble à l'instruction SQL suivante:

SELECT e.ENTER_CNT 
FROM MyTable e 
WHERE @StartTime < e.DATE_ID AND e.DATE_ID > @EndTime 
+0

Désolé, quand j'ai dit base de données FACT_ENTER_EXIT, je voulais dire table .. la table FACT_ENTER_EXIT provient d'un entrepôt de données Je n'essaie pas de créer des tables! –