2009-04-29 13 views
1

以下のコードを実行しているうちに、HTTP 500内部サーバーエラーが発生しています。LINQで削除中にエラーが発生しました

public bool DeleteData(int dataId, string uploaderName) 
{ 
    using (DataClassesDataContext db = new DataClassesDataContext()) 
    { 
     DataInfo d = db.DataInfos.Where(c => c.DataId == dataId).Single(); 
     db.DataInfos.DeleteOnSubmit(d); 
     db.SubmitChanges(); 
    }   
    return true; 
} 

これは「D」の値を取り出し、しかしdb.SubmitChanges();の実行中に、私は500エラーを参照。理由は何でしょうか? ID列は主キーであり、Identityです。

また、私は実装する方法を知りたい "と" LINQで、このような何か:

DataInfo d = db.DataInfos.Where(c => c.DataId == DataId AND 
           c.UploaderName==uploaderName).Single(); 

答えて

2

実装 "と" 簡単である - これは結局、C#の式である:

DataInfo d = db.DataInfos.Where(c => c.DataId == DataId && 
           c.UploaderName == uploaderName).Single(); 

500エラーについては、例外がほとんどの原因ですが、例外の詳細がなければ、何が間違っているのかを知ることは難しいです。 LINQエラーを修正しようとする前に、要求が失敗するような例外が記録されていることを確認する必要があります。これは、将来のエラーであなたを助けるでしょう。ログインが完了したら、例外が何であるか教えてください。その時点で問題を解決するのに役立ちます。

+0

ありがとうございました。あなたのhelp.Actually同じコード別のソリューションから動作していますありがとうジョン。 – Wondering