Ich beziehe ein Raster von einem Entitätsobjekt, und es zeigt die Daten fein an. Wenn ich Änderungen vornehme und sie zurückspare, wird nichts aktualisiert.Bindung von Datagridview an Entität, die Datenbank nicht aktualisiert
Hier ist mein Code:
In meinem Ladeereignis:
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();
Meine Klasse:
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; }
}
In der um die Änderungen zu speichern:
private void button_SaveChanges2_Click(object sender, EventArgs e)
{
button_SaveChanges2.Enabled = false;
_entities.SaveChanges();
timer1.Enabled = true;
button_SaveChanges2.Enabled = true;
}
Was mache ich falsch?
Als Reaktion auf bmused:
auf Klassenebene definiert:
private SuburbanPortalEntities _entities;
in meiner Last definiert:
var bs = new BindingSource();
_entities.PaymentTypes.Where(x => x.CorporationId == _currentcorp.CorporationId).Load;
bs.DataSource = _entities.PaymentTypes.Local.ToBindingList();
dataGridView_PaymentTypes.DataSource = bs;
Es zeigt, dass es nicht Symbol laden laden und Lokal:
Warum Sie projizieren zu einem anderen Typ, der genau die gleichen Eigenschaften wie deine Entity hat? –
testen, ich habe mehrere verschiedene Ideen ausprobiert und ich bin damit gelandet. Zugegeben, es ist nicht nötig, aber ich habe es verlassen. – ErocM
sollte 'Load' nicht' Load() 'sein? –