[英]Error while deleting record in a table with two databases
首先,我想报告一下,由于我的英语,这是一个从西班牙语到英语的机器翻译,请原谅翻译中可能存在的错误。
我在一个小程序中遇到问题,我希望你可以帮助我:我有一个数据库,有两个表客户(pelo2发),我在两个不同的窗口访问它们,第一个在第一个有一个删除按钮窗口,删除所有选定的客户记录,但让其他窗口所有客户数据窗口并更改它给我以下错误:
Unable to cast object of type 'System.Data.Linq.DataQuery`1[Peluqueria.Pelos2]' to type 'Peluqueria.Pelos2'.
这偶尔发生在按钮Eliminar的情况下
private void Eliminar_Click(object sender, RoutedEventArgs e)
{
MessageBoxResult result = MessageBox.Show("Seguro que quieres eliminar este cliente?", "Confirmar",
MessageBoxButton.YesNo, MessageBoxImage.Information);
if (result == MessageBoxResult.Yes)
{
Pelo guar = (Pelo)Application.Current.Properties["seleccionar"];
var verTrabajo = (from o in baseDeDatos.Pelos2s
where o.num == guar.num
select o);
baseDeDatos.Pelos2s.DeleteOnSubmit((Pelos2)verTrabajo);
baseDeDatos.SubmitChanges();
actualizarDatos();
}
}
特别是在行中:
baseDeDatos.Pelos2s.DeleteOnSubmit((Pelos2)verTrabajo);
我必须说我得到了同样的错误,即使使用baseDeDatos.Pelos。 我可以帮你知道我做错了什么吗? 它能以不同的方式完成吗? 谢谢你的帮助。
这一行:
var verTrabajo = (from o in baseDeDatos.Pelos2s
where o.num == guar.num
select o);
返回一个集合。 很可能该集合只包含您希望删除的一条记录,但您需要具体。
如果您希望它返回一个结果,那么您可以使用该结果删除尝试使用SingleOrDefault() :
var verTrabajo = (from o in baseDeDatos.Pelos2s
where o.num == guar.num
select o).SingleOrDefault();
在将其用于删除之前,请确保检查它是否为null
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.