我使用 LINQ 的场景如下:我有一个方法,使用以下代码查询一个表并返回一条记录
private L2SQLData.PatientFile getpatfile(long id)
{
var db = new HMSDataContext();
var patfile =
(from f in db.PatientFiles.Where(f=> f.Id == id) select f).FirstOrDefault() ;
return patfile;
}
然后另一个代码调用上面的方法并获取返回的对象/记录。然后从同一个表中删除它,如下所示:
L2SQLData.PatientFile patfile = getpatfile(long.Parse(id));
var db = new HMSDataContext();
db.PatientFiles.DeleteOnSubmit(patfile);
db.SubmitChanges();
运行时,VS2010 发出错误提示:无法删除尚未附加的实体。我究竟做错了什么?任何人?