私は MVC 3 と Entity Framework を c# 言語で使用しています。IRepository インターフェイスを実装するリポジトリ クラスがあります。私のプロジェクトでは、オブジェクトを削除するための再帰的なロジックが必要です。再帰関数によって実装されています。しかし、それはこのエラーを発生させます:
「/」アプリケーションでサーバー エラーが発生しました。セッションで他のスレッドが実行されているため、新しいトランザクションは許可されません。
私のコードはこれに似ています:
public void Delete(long ObjectId)
{
if(SomeThing ==true)
{
var items = TRepository.Find(o=>o.Id==ObjectId);
foreach(var t in items)
{
Delete(t.ObjectId);
}
}
Delete(ObjectId);
TRepository.SaveChanges();//here raise error!!!
}