2009-11-27 6 views
0

J'ai suivi ce didacticiel de Scott à la lettre T sur ma propre base de données.Utilisation de requêtes SQL personnalisées avec LINQ to SQL ... Aide

http://weblogs.asp.net/scottgu/archive/2007/08/27/linq-to-sql-part-8-executing-custom-sql-expressions.aspx

Je reçois une erreur dans ma classe partielle. Le nom "ExecuteQuery" n'existe pas dans le contexte actuel. Je ne peux pas pour la vie de moi comprendre ce qui s'est mal passé.

public partial class MerchantsAppDataContext 
{ 

    public IEnumerable<SubmittalDetails> GetSubmittalDetails(string minDate) 
    { 
     var sqlTxt = "SELECT Submittals.SubmittalID, Submittals.Created AS  DateFiled, " + 
      "CheckDetails.Status AS CheckStatus, CheckDetails.CheckNumber,  CheckDetails.DateWritten, CheckDetails.FaceAmount, CheckDetails.Reference,  CheckDetails.ExhibitNo AS ExhibitNumber, " + 
      "CheckWriterDetails.FirstName, CheckWriterDetails.LastName " + 
      "FROM Submittals " + 
      "INNER JOIN LocationAccepted ON Submittals.LocationAcceptedID =  LocationAccepted.LocationAcceptedID " + 
      "INNER JOIN CheckDetails ON LocationAccepted.LocationAcceptedID = CheckDetails.LocationAcceptedID AND Submittals.SubmittalID = CheckDetails.SubmittalID " + 
      "INNER JOIN CheckWriterDetails ON CheckDetails.CheckWriterID = CheckWriterDetails.CheckWriterID " + 
      "WHERE (CheckDetails.DateWritten >= {0})" + 
      "ORDER BY Submittals.Created DESC, Submittals.SubmittalID,  CheckDetails.CheckDetailsID "; 


     return ExecuteQuery<SubmittalDetails>(sqlTxt, minDate); 
    } 


} 



public class SubmittalDetails 
{ 

    public int SubmittalID { get; set; } 
    public string Created { get; set; } 
    public int LocationAccepted { get; set; } 

} 

Répondre

0

Le compilateur ne peut pas trouver l'autre moitié de la classe partielle, et il ne peut donc pas voir qu'il est un DataContext.

Vérifiez le fichier auto-généré MerchantsAppDataContext.designer.cs dans lequel l'espace de noms est défini à l'intérieur de la classe partielle MerchantsAppDataContext et assurez-vous d'utiliser le même espace de noms dans votre code.

namespace ??? // TODO: Use the same namespace as MerchantsAppDataContext.designer.cs 
{ 
    public partial class MerchantsAppDataContext 
    { 
     public IEnumerable<SubmittalDetails> GetSubmittalDetails(string minDate) 
     { 
      ... 
     } 
    } 
} 
+0

Merci Mark, Qui l'a fixé ... – JBeckton