none
ADO.NET Entity System.Data.Entity.DynamicProxies .... RRS feed

  • Frage

  • Hallo,

    ich hoffe auf einen Tipp wie ich das Lösen kann.

    Ich habe 4 Tabellen in einer Beziehung soweit passt alles.

    Im VS habe ich ein ADO.NET Entity Modell erstellt funktioniert auch super.

    Wenn ich mir im DataGridView, die Tabelle "BaseData" anzeigen lasse bekomme ich in die Spalten (DestinationFolder usw... ) von anderen Tabellen diesen Wert angezeigt:

    System.Data.Entity.DynamicProxies.DestinationFolder_00A15AD369D7CFF7DC7B68A119E225E7A6F5AC58A03A823B10714BC3B67A197D

    Was mache ich falsch?

    Danke!

    MfG Daniel





    Freitag, 19. Dezember 2014 07:41

Antworten

  • Hi,
    was meinst Du mit "anderen Werte"? Wenn Du die Nachschlagewerte meinst, dann könnte die Lösung so aussehen:

        Database1Entities ctx = new Database1Entities();
    
        private void Form5_Load(object sender, EventArgs e)
        {
          DataGridView dgv = new DataGridView() { AutoGenerateColumns = true, Dock = DockStyle.Fill };
          dgv.Columns.Add(new DataGridViewTextBoxColumn()
          {
            HeaderText = "Benutzername",
            DataPropertyName = "Benutzername"
          });
          dgv.Columns.Add(new DataGridViewTextBoxColumn()
          {
            HeaderText = "FolderPath",
            DataPropertyName = "DestinationPath"
            
          });
    
          dgv.DataSource = (from itm in ctx.BaseData.Include(b => b.DestinationFolder) 
                            select new { Benutzername = itm.Benutzername, 
                              DestinationPath = itm.DestinationFolder.DestinationPath }).ToList();
    
          this.Controls.Add(dgv);
        }

    --
    Peter

    Freitag, 19. Dezember 2014 19:58

Alle Antworten

  • Hi Daniel,
    Du hast im DataGridView eingestellt, dass es für alle Eigenschaften automatisch eine Anzeigespalte generiert. Alternativ solltest Du selbst die anzuzeigenden Spalten festlegen und den Automatismus ausschalten, z.B. so:

          DataGridView dgv = new DataGridView() { AutoGenerateColumns = false };
          dgv.Columns.Add(new DataGridViewTextBoxColumn() {HeaderText="Benutzername", 
            DataPropertyName="Benutzername" });

    --
    Peter

    • Als Antwort markiert Danijel Kramar Freitag, 19. Dezember 2014 08:29
    • Tag als Antwort aufgehoben Danijel Kramar Freitag, 19. Dezember 2014 08:29
    Freitag, 19. Dezember 2014 07:57
  • Hy,

    Danke für die Info.

    Kann man eig. auch die anderen dementsprechenden Werte in den Spalten anzeigen lassen?

    Danke

    MfG 

    Freitag, 19. Dezember 2014 08:22
  • Hi,
    was meinst Du mit "anderen Werte"? Wenn Du die Nachschlagewerte meinst, dann könnte die Lösung so aussehen:

        Database1Entities ctx = new Database1Entities();
    
        private void Form5_Load(object sender, EventArgs e)
        {
          DataGridView dgv = new DataGridView() { AutoGenerateColumns = true, Dock = DockStyle.Fill };
          dgv.Columns.Add(new DataGridViewTextBoxColumn()
          {
            HeaderText = "Benutzername",
            DataPropertyName = "Benutzername"
          });
          dgv.Columns.Add(new DataGridViewTextBoxColumn()
          {
            HeaderText = "FolderPath",
            DataPropertyName = "DestinationPath"
            
          });
    
          dgv.DataSource = (from itm in ctx.BaseData.Include(b => b.DestinationFolder) 
                            select new { Benutzername = itm.Benutzername, 
                              DestinationPath = itm.DestinationFolder.DestinationPath }).ToList();
    
          this.Controls.Add(dgv);
        }

    --
    Peter

    Freitag, 19. Dezember 2014 19:58