2009-04-03 8 views
0

Ich validiere Daten für eine Tabelle, die im Linq Designer im Ereignis OnValidate erstellt wurde.Das OnValidate-Ereignis von Linq wird nicht ausgelöst

Dieses Ereignis wird ausgelöst, wenn ich Datensätze einfüge, aber nicht, wenn ich Datensätze aktualisiere.

Ich habe diesen Code:

public bool Save(int id, string marca, string modelo, string año, string motor, 
    bool disponible, RuleList issues) 
{ 
    Usado u; 
    if (id == 0) 
    { 
     u = new Usado(); 
     u.IdUsado = GetNextIdUsado(); 
     u.FechaCreacion = DateTime.Now; 
    } 
    else 
    { 
     u = GetUsadoById(id); 
    } 
    u.Marca = marca; 
    u.Modelo = modelo; 
    u.Año = año; 
    u.Motor = motor; 
    u.Disponible = disponible; 
    if (id == 0) 
    { 
     DataBase.Usados.InsertOnSubmit(u); 
    } 
    return Execute(issues, DataBaseOperation.Save); 
} 

Wenn id auf Null ich einen Einsatz zu tun gleich, sonst mache ich ein Update.

Warum könnte das passieren? Vielen Dank im Voraus für jeden Hinweis.

+0

Können Sie Code schreiben? Das sollte wirklich funktionieren. – tvanfosson

Antwort

0

Führt Ihre Aktualisierung zu einem geänderten Objekt oder weisen Sie alle Werte zu, die den ursprünglichen Werten entsprechen? Möglicherweise müssen Sie sicherstellen, dass einige Werte unterschiedlich sind, damit LINQ damit etwas anfangen kann. Überprüfen Sie die Änderungen mit GetChangeset(). Updates.Count. (Wo sind Ihre SubmitChanges?)

Verwandte Themen