EntityFramework6.1 for DeskTop
MVCのお勉強もひと段落したのでFormアプリにEF6.1でもかましてみようかとコーヒー飲みながら休憩時間にアタック 結論から言うと本業に影響するほど嵌まりました。ASP.Net MVCからEFを利用する場合ほとんどオートメーション それをDeskTopアプリに適応するにはEF6.1を理解していないと何もできないことに気付かされた。
今回はSqlServerCompactでローカルファイルとする。 またテスト用データを準備する。
問題点1.Debug/ReleaseフォルダにローカルDB(.sdf)がフルパス指定 ConnectionStrings指定でData Source指定にDataDirectoryが使えない。
問題点2.EF61で非常に便利になったMigration機能が初期状態では使えない。
問題点1 開発アプリ起動時にAppDomainにDataDirectoryを追加設定 AppDomain.CurrentDomain.SetData("DataDirectory", AppDomain.CurrentDomain.BaseDirectory); これでSQLServerCompactの接続文字列は以下のように記述
<connectionStrings> <add name="UtilPassContext" connectionString="Data Source=|DataDirectory|\UtilPass.sdf" providerName="System.Data.SqlServerCe.4.0" /> </connectionStrings>