我在事件OnValidate中验证linq设计器中的表的数据。
当我插入记录时会触发此事件,但在更新记录时不会触发此事件。
我有这段代码:
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);
}
当id等于零时,我进行插入,否则我会进行更新。
为什么会发生这种情况?提前感谢您的任何线索。
答案 0 :(得分:0)
您的更新是否会导致更改的对象,或者您是否分配了与原始值相同的所有值?您可能必须确保某些值不同,以便LINQ对其执行任何操作。使用GetChangeset()检查更改.Updates.Count。 (你的SubmitChanges在哪里?)