2011-03-21 4 views
1

J'utilise L2S et je dois effectuer une jointure externe gauche avec les valeurs VisitFromTime et VisitToTime dans la table de droite. code ressembleLinq to Sql externe Joindre avec Timespan

from d in db.Doctors 
join p in db.plans on d.DoctorID equals p.DoctorID 
into temp 
from t in temp.DefaultIfEmpty() 
select new MyModel 
{ 
    .... 
    .... 
    VisitTimeFrom = t!=null?t.VisitTimeFrom:new TimeSpan(), 
    VisitTimeTo = t!=null?t.VisitTimeTo:new TimeSpan() 
} 

il me donne exception d'exécution que la conversion explicite de bigint en temps est pas pris en charge dans SQL

Répondre

0

est VisitTimeFrom et VisitTimeTo bigint dans la base de données?

Si oui vous voulez sûrement

VisitTimeFrom = t!=null?t.VisitTimeFrom:0, 
VisitTimeTo = t!=null?t.VisitTimeTo:0 
+0

ils sont temps (7) en db et concepteur Liqn les fait en utilisant TimeSpan –

0

Assurez-vous t.VisitTimeFrom et t.VisitTimeTo sont les deux plages temporelles.

+0

S'il vous plaît signaler le code complet au lieu de ces "..." - s dans le code? Peut-il être lié à d'autres domaines, ou êtes-vous sûr que le problème est avec ces champs exactement? – Tengiz

+0

Le problème est avec ces deux champs. J'ai résolu le problème affichera une réponse dans un moment –