今日の飲み会で出たワードですね。ピーマンの肉詰めを食べていた時に出てきたんですが、なんでこのワードが出たか記憶にないです。おそらく置いてきたのでしょう。
🎉趣味活動
ようやくデータベースのエラーが解消しました。原因は UserId を代入しないといけないのに User を代入してしまったせいで、外部のテーブルに関連してる Users テーブルに干渉してしまったことだと思います。なんか言葉で書くのが難しいのですが、中間テーブルにはUserIdが登録されます。もし、中間テーブルにUserが追加されるとそれにつながっているUsersの中にも同じように挿入しようとするんですね。でもUsersのIdはユニークである必要があるので、重複してエラーとなるわけです。
まあ、簡単な話、Users = user となっていた部分を UserId = user.Id に変更するだけで解決しましたと。
これでちゃんとブログを書いたユーザーIDが記録できるようになりました。殿ユーザがどのブログ記事を書いたのかがわかるので、検索もできますね。
じゃあBlogId=blog.Id にしなくていいのかと思われるかもしれませんが、これ新規作成時に結びつけを行うため、Blogのインスタンスを作る必要があるんですね。したがって、Blogsテーブルにも挿入する必要があるので一気にやるためにこのままにしています。BlogId に Id 入れただければ中身(タイトルとか、本文とか)が保存されませんからね。
後はどうやってユーザーIDからユーザ名を取得するかですね。Blogsモデルから中間テーブルであるUserBlogsを読み込むには、LINQ式の Include を使うみたいです。そうすると、テーブルを結合して操作するのと同じ状態になるとのこと。
確かに、Blogs.UserBlogsを参照できるようになっていますね。ただ、問題は Users の中身が Null になっていることです。なので、取得時に Users も取得しないといけませんね。おそらく UserId から Find() を使って取得していく方法になるかと思います。ちょっと次回にまわすかなー。
📝メモとか
ラムダ式 Include を使うと外部のテーブルを結合した状態で参照できる
🖋️雑記
友人と飲み会に行ってきた。多分合うのは1年ぶりくらいでした。
そして4年ぶりくらいのカラオケにも行ったり。盛り上がりました。
お昼はハンバーガー食べましたね。本当は外食する予定だったのですが、外人と老人に占拠されててそれどころじゃなかったです。
バーガーキングのキングイエティ食べたら幸せになりました。
クソでかいw
たくのろじぃ(本体)が破損してしまった・・・。多分温泉成分とかで傷んだ可能性があるのかもと考えてます。といっても3年以上使っているので経年劣化の可能性も否定できず。
直しに行こうと思ったんですが、外人(観光)+老人(視力測定)でクソ混んでいたので諦めました。平日にでも行きますわ。
ちなみに、メガネは全く同じ度数で全く同じデザインのスペアがあるので問題ないです。1点だけ違うのがブルーライトカットの有無。スペアには無いのですが、ブルーライトカットは効果が無い&むしろ景色が黄ばんで見えるので、次買う時はブルーライトカットやめようと思います。
💪明日へ向けてのやっていき
仕事~
管理ページも作っていくかな