Open takachaa opened 7 years ago
上記で重要な点をピックアップ
HTTPステータスだけを通知する
HttpStatusCodeResult
以下
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
または「404 Not Found」に対応した以下のようなビューヘルパーでもかける
if (member == null)
{
return HttpNotFound();
}
コントローラに以下のような記述を行うと
public BeginController(){
db.Database.Log = (log) => Debug.WriteLine(log);
}
※ちなみにコンストラクタ
Entity Frameworkが発行するSQLログを出力することができます。 出力されるログには以下の情報が含まれています。
・処理開始時間 ・処理内容 ・発行したSQL文 ・SQL文の処理時間
よりパフォーマンスを重視するならばFindメソッドをデータの取得をスキップすることもできます。
var m = new Member(){Id = id};
db.Entry(m).State = EntityState.Deleted;
リクエスト処理を完了した後に、コンテキストを破棄して、データベースの接続を解放します。 正しく解放されないと、コネクションリーク(接続リーク)が発生する可能性があるためやっておきます。※接続を占有し続けてしまう状態のこと
protected override void Dispose(bool disposing)
{
if (disposing)
{
db.Dispose();
}
base.Dispose(disposing);
}
基本的なコントローラ CRUD
Scafold機能で作成したまんまのCRUDのコントローラ