发布网友 发布时间:2022-06-12 03:58
共1个回答
热心网友 时间:2023-10-05 09:13
)。但是,LINQ TO SQL不是万能的。例如,你在重新修改或设计数据库表格后,原先使用LINQ TO SQL生成的DATACONTEXT类并不会自动更新。因此,针对这些更改之后的操作,需要特别注意。二、问题描述[一]本文中首先记录的是使用LINQ插入数据库记录时涉及的一个基本概念级问题。请看下面的代码片断:上述代码的意思是,在表格Table3 中先删除可能存在的符合条件的记录,然后在此表格中再插入一条记录数据。上面的代码将“可能”引发异常,将流程控制转向(2)处。这些“可能”在于,数据表格Table3 中最初无记录,则必引发异常;如果有记录,则一切符合既定操作要求。于是,修改上面的代码为如下:也就是说,删除操作前需要先判定数据表格是否记空--这可以通过红色的if语句((1)处)来实现。如此以来,无论表格中是否事先存在记录都可以往下执行可能的删除及插入操作了。[二]再来看一个例子,例如://删除旧的邮件public static void DeleteSubject(string UserName, string host){eMailDataContext dt = new eMailDataContext();string cmdText = "delete from MailDownloadTempwhere UserName=" + "'"+UserName +"'"+ " and Host=" + "'"+host+"'";try{int result = dt.ExecuteCommand(cmdText);return;}catch (System.InvalidOperationException){return;}}上述操作同样抛出异常。因此,需要同上面提到的那样,先进行数据库表格记录数据判断源码天空,再进行可能的删除操作。因此,再修改上面代码,如下所示://删除旧的邮件