らぁめん蔵持

福岡市中央区白金にある『らぁめん蔵持』に行ってきた。 この店も、福岡で近年ブームの非豚骨系。

らぁめん(730円)を注文。

すっきりとしていて甘めのスープは、 飲みやすくてうっかり完飲してしまいそうだった。 普通サイズを注文したはずなんだけど、 麺の量が多い。 よその店の大盛りくらいあるんじゃないだろうか。 平打ちぢれ麺で弾力があって食べ応えあり。 チャーシュー分厚くて、全体としてかなりのボリュームだった。 満腹。

関連ランキング:ラーメン | 西鉄平尾駅薬院駅渡辺通駅

友楽

天神ビッグバンのせいで天神から薬院への移転を余儀なくされた、 かつ丼の『友楽』にようやく行くことができた。 場所は薬院大通駅すぐ。 場所が場所だけに、おしゃれな外観と内装になっていた。 薬院マダムとかいそう。 あぁ、薬院のマダムたちはかつ丼食べに行かないか(偏見)。

かつ丼(800円)を注文。 天神にあったときは650円だったのに。 ご飯大盛無料なのが救いだ。

天神にあったときと同じ、いや、それよりも丁寧に作られている気がする。 とんかつの衣の細かさ、卵の固まり具合、飴色の玉ねぎの炒め具合、 どれもが記憶よりも良いような。 全体のクオリティは上がってる。 値段が上がっていたのは残念だったが、大盛800円ならまぁ許容範囲かな。 これが以前は650円で食べられていたことを思うと、 天神ビッグバンの罪は大きい。

地鶏らーめんはや川の『鶏と豚のつけめん』

前回行って大絶賛した『地鶏らーめんはや川』にまた行ってきた。

tnakamura.hatenablog.com

お目当ては『鶏と豚のつけめん』。 麺大盛無料だったので、もちろん大盛で。

麺が昆布だしに浸っているというのは初めての経験だ。 地鶏醤油らーめんのスープがベースになったつけ汁は、 ただでさえ旨味が凝縮されていて美味なのに、 食べ進めるにつれ昆布だしの旨味も加わって、 上品な味に変化していく。 このアイデアは面白い。 濃厚つけ麺はもう身体が受けつけなくなってきた気がするが、 このタイプならまだまだ余裕でいける。 醤油ベースのつけ麺では今のところ一番だな。

『アオアシ(12)』を読んだ

12巻から、舞台はいよいよA チームに。 葦人は技術的には全然追いついていないけど、持ち前の視野の広さを活かして練習に食らいついていく展開は熱い。

あと、葦人・花・杏里の関係もこれからどうなるのか気になるが、ここに来て橘姉の都が参戦したりするんだろうか。さすがに無いか。

次巻は試合に突入するみたいだし、葦人に活躍の場はあるのか楽しみ。

『からかい上手の(元)高木さん(2)』を読んだ

西片くんと高木さんが結婚した未来の話だからか、 (元)高木さんのからかいが本編よりもむず痒く感じる。 からかいの内容はそこまで違いはないのに、二人の関係性が変わっただけで、 こうも直視づらさが増すとは。

あと、表示がからかい上手の高木さんと同じ構図なのがニクい。 相手が西片くんじゃなくて、娘のちーに変わってるけど。 もはやこれしかない、という表紙で上手い。

『からかい上手の高木さん(8)』を読んだ

8巻はバレンタイン回が収録されていて、時期にちゃんと合わせてあるなという印象。それにしても、周囲は高木さんが西片君にチョコをあげるものだと信じて疑っていないな。公認カップル状態。まだ付き合ってはいないけど。

最近の高木さんは、正解を2つ用意していたり、ヒントを出してあげたりと、西片くんが勝てる可能性をごく僅かに与えてあげている気がする。まぁ、西片くんが気付かなかったり、選ばなかったりしそうな絶妙な与え具合で、結局西片くんが勝てないのはもうお約束。

Entity Framework Plus を使ってタイプセーフに一括更新を行う

Entity Framework Core を使っていて、 エンティティをまとめて更新したい場面は結構あるが、 タイプセーフかつ効率的に更新する手段は、 今のところ標準で提供されていない。

ExecuteSqlCommand を使って直接 SQL を発行すればいいんだけど、 テストではInMemoryプロバイダーを使用しているので、 一括更新だけ違うやり方でテストしなければいけなくなるのが面倒。

そこで Entity Framework Plus を使ってみることにした。 Entity Framework と Entity Framework Core の機能を拡張できるライブラリ。

entityframework-plus.net

Entity Framework Core 用のパッケージを使う。

www.nuget.org

IQueryable に拡張メソッドが追加されるので、 非同期に一括で更新したい場合は UpdateAsync を使えばいい。

var publishedAt = DateTimeOffset.UtcNow;

var query = from e in context.Entries
            join b in context.Blogs on e.BlogId equals b.Id
            where e.TenantId == tenantId
            where b.UserId == userId
            where e.IsDraft
            select e;

await query.UpdateAsync(e => new Entry()
{
    IsDraft = false,
    PublishedAt = publishedAt,
});

普通に使うぶんにはこれでOK。 ただ注意点があって、テストで InMemory プロバイダーを使っていると

UpdateAsync results in Unable to cast object of type 'Microsoft.EntityFrameworkCore.Query.Internal.InMemoryQueryContextFactory'

という例外が発生してしまう。 その場合は

BatchUpdateManager.InMemoryDbContextFactory = () => new ApplicationDbContext(options);

という風に、Entity Framework Plus に DbContext を取得するためのデリゲートを登録しておくことで回避可能。