C#

C# Entity Framework 6 の DbContext で変更されたレコードと変更前後の値を取得する

Entity Framework 6 (以下、 EF6) では自動で変更を追跡してくれるため、 SaveChanges() を呼び出すとなんらかの変更があったレコードだけがデータベース側で変更されます。 簡単なアプリケーションではすべてフレームワーク任せでもいいのですが、少し実用的なアプリケーションを作ろうとすると、ユーザーに確認を求めたり、ログを残したりす・・・続きを読む

C# で yyyymmdd 形式の日付文字列を DateTime 型に変換する拡張メソッド

もはやタイトルにすべて書いてありますので、細かいことは省きますが、データベース等で 20180401 のように区切り文字なしで格納されている日付文字列を DateTime 型に変換します。 変換用の拡張メソッドを用意 この形式は DateTime.Parse や DateTime.TryParse でパースできないため、少々面倒です。 変換には書式指定が可能・・・続きを読む

WPF でウィンドウの位置やサイズを記憶・復元するには

今回は WPF でウィンドウの位置やサイズを保存しておいて復元する方法を紹介します。「よくある」要求なのに意外と WinForms のころの話が多くて、直球な答えがありません。 毎回アプリをつくるたびに実装しているので自分のスニペットを兼ねて、ご紹介します。 前提 今回は前提として、ウィンドウ位置・サイズをユーザー設定ファイル (App.config) に保・・・続きを読む

WPF アプリケーションの未処理例外をまとめて捕捉するスニペット

WPF や UWP に限った話ではないですが、試作状態からアプリケーションを作っていると例外処理が後回しになりがちです。 アプリ内で完全に処理しきるのが理想ですが、どうしても捕捉できなかった例外も発生しますし、いざというときのために最後のトラップを仕掛けておくのは、デバッグのためにも重要です。 しかし、この未処理例外の処理というのも意外と書くのが面倒なので、・・・続きを読む