datagridview de liaison à l'entité qui n'est pas la mise à jour de la base de données

Je suis le remplissage d'une grille à partir d'une entité de l'objet et c'est l'affichage des données de l'amende. Quand je fais des modifications et les enregistrer en arrière, rien n'est à jour.

Voici mon code:

Dans ma charge de l'événement:

  var query = from c in _entities.PaymentTypes
              where c.CorporationId == _currentcorp.CorporationId
              select
                new DataBindingProjection
                  {
                    PaymentTypeId = c.PaymentTypeId,
                    CorporationId = c.CorporationId,
                    TokenId = c.TokenId,
                    IsActive = c.IsActive,
                    Description = c.Description,
                    CashChargeCodeType = c.CashChargeCodeType,
                    SortOrder = c.SortOrder,
                    ExcludeCreditCode = c.ExcludeCreditCodes,
                    IsUpdated = c.IsUpdated,
                    IsAdded = c.IsAdded,
                    ClearUpdatedAndAdded = c.ClearUpdateAndAdded
                  };
  dataGridView_PaymentTypes.DataSource = query.ToList();

Ma classe:

private class DataBindingProjection
{
  public Guid PaymentTypeId { get; set; }
  public Guid CorporationId { get; set; }
  public Guid TokenId { get; set; }
  public bool IsActive { get; set; }
  public string Description { get; set; }
  public int CashChargeCodeType { get; set; }
  public int SortOrder { get; set; }
  public int ExcludeCreditCode { get; set; }
  public bool IsUpdated { get; set; }
  public bool IsAdded { get; set; }
  public bool ClearUpdatedAndAdded { get; set; }
}

Dans le bouton pour enregistrer les modifications:

private void button_SaveChanges2_Click(object sender, EventArgs e)
{
  button_SaveChanges2.Enabled = false;
  _entities.SaveChanges();
  timer1.Enabled = true;
  button_SaveChanges2.Enabled = true;
}

Ce que je fais mal?

En réponse à bmused:

Défini au niveau de la classe:

private SuburbanPortalEntities _entities;

défini à ma charge:

  var bs = new BindingSource();
  _entities.PaymentTypes.Where(x => x.CorporationId == _currentcorp.CorporationId).Load;
  bs.DataSource = _entities.PaymentTypes.Local.ToBindingList();
  dataGridView_PaymentTypes.DataSource = bs;

C'est montrer qu'il ne peut charger le symbole de Charge et Local:

datagridview de liaison à l'entité qui n'est pas la mise à jour de la base de données

Pourquoi êtes-vous projetant vers un autre type qui a exactement les mêmes propriétés de votre entité?
tests, j'ai essayé plusieurs idées différentes et j'ai fini avec ça. Accordé, il n'est pas nécessaire, mais je l'ai laissé.
devrait pas Load être Load() ?
oui... mais il n'était pas de trouver de charge avec ou sans eux, de sorte que le () n'a pas d'importance si il ne le trouve pas.

OriginalL'auteur ErocM | 2013-05-10