LINQを使用しているシナリオは次のとおりです。次のコードを使用してテーブルをクエリし、1つのレコードを返すメソッドがあります。
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は次のエラーで悲鳴を上げます。接続されていないエンティティを削除できません。私は何が間違っているのですか?誰?