0

Ich habe eine gespeicherte Prozedur mit dem Namen Get_Visits. Das Ergebnis wird aus einer Select-Anweisung erzeugt.Visual Studio C# gespeichert Prozedurausgabewert

select id, number, name .... 

In Visual Studio greife ich auf das Ergebnis:

List<DAL.Get_VisitsResult> resm = dc.Get_Visits(ctid, siteid, date).ToList<DAL.Get_VisitsResult>(); 

foreach (DAL.Get_VisitsResult m in resm) 
{ 
    resm.id = 4 
} 

ich die gespeicherte Prozedur geändert, so ist das Ergebnis eine andere Spalte enthält:

select id, new_id, number, name.... 

ich die gespeicherte Prozedur in .dbml Datei aktualisieren, aber Ich kann nicht auf die neue Spalte zugreifen.

Nur wenn ich mit der Hand in der Datei designer.cs gehen und die

public partial class Get_VisitsResult 
{ 
     private string _Id; 
     private string _new_Id; 
     private string _name; 
     ..... 
} 

diese Datei aktualisiert werden soll nicht ändern, wenn ich die gespeicherte Prozedur in Visual Studio aktualisieren?

Problem gelöst, indem ... den Laptop Neustart

+0

bauen Sie einfach Ihre DAL. –

+0

Ich habe das schon gemacht – alxem

+0

Haben Sie versucht, VS aus und wieder wieder einzuschalten (ernsthaft). –

Antwort

0

Wenn Sie Server-Explorer verwenden diese Schritte, um per Drag & Drop gespeicherten Prozeduren in DBML folgen.

  1. DOUBLE Klicken Sie auf DBML-Datei.
  2. LÖSCHEN Sie die gespeicherte Prozedurdefinition daraus.
  3. Aktualisieren Sie die SP in Server
  4. DRAG-Explorer und legen Sie es enthält DBML
  5. Erstellen Sie das Projekt DBML.

Dies würde funktionieren. :)

+0

Dies ist die genaue Art und Weise ich es tun, wenn ich eine gespeicherte Prozedur aktualisieren – alxem

+0

Sind Sie in der Lage, die Änderung zu sehen während Sie mit der rechten Maustaste klicken und SP aus dem Lösungsexplorer öffnen? –

+0

Ja ... Nun, ich habe meinen Laptop neu gestartet und es hat funktioniert ... – alxem