てぃぐれのプログラマwiki

ワクワクに従う

2022-07-01から1ヶ月間の記事一覧

ChangeTracking 変更追跡処理【C#/Blazor/EntityFramework】

経緯 先日、EntityFrameworkの変更追跡がSQLRawを使うと難しくなる話をした。 なにか良いライブラリはないかものかと、ダメもとでぐぐっていたところ、よさげなライブラリをみつけた。 POCO クラスに対する変更追跡ライブラリ ChangeTracking を使ってみた -…

EntityStateとSQLRaw 【C#/Blazor/EntityFrame】

経緯 bindしているデータの変更管理をするときみんなはどうしているだろうか。 Datatableを使用していた時、Rawstateというものがあった。 Added,modified,unchange等、データの行ごとに状態を持ち、追加するもの、変更するもの等を管理していた。 さて、Ent…

boolにはbit型【SQLServer】C# blazor

経緯 フラグ処理をDBで管理したいときint型にする人がいる。それに従ったら、つらい目にあったので、記録する。 int型とbool型 C#でint型とbool型の型変換は一つConvert.to〇〇を挟むことになる。しかし、これではbindはうまくいかない。 checkboxにbindさせ…

権限設計のコツ 【DB】

waterlow2013.hatenablog.com 経緯 業務で権限機能の設計をする必要が出てきたので、インプット。 ケース 上記サイトからのインプットで今自分がしたいことを抽出してみる。 ①ロールだけパターン ユーザー:ロール = 1:1 ロール:アビリティ = 1 : n ②admin:bo…

EntityFrameworkをSQLで【C#】

経緯 EntityFrameworkに感動と失望を抱いていた中、「ある程度結合するようならSQLで書いたほうがいいよ」という鶴の一声を聞く。 ある程度ってどれくらい!? まだ、開発をクエリーベースにするなら間に合う!! SQLのほうが速い これは実際に試していないのだ…

EntityFramework 多対多【C#】

経緯 Entity Frameworkで多対多を扱った記事が少なすぎる気がする。 というかSQLをごりごり書いていた身からすると、かなり扱いづらい。 たとえ記事があっても、Controllerでの記述方法が全然見つからない。 新人の子が多対多でデータを取得するのに一緒につ…

これがDTO!? 役だった話【C#】

経緯 tigretic.hatenablog.com 以前、DTOとはというタイトルでざっくり紹介したデザインパターン。自分で書いたものの、ちょっとしっくりこなかった。 自分はSQLをがりがり書くとこにいたせいか、モデルクラスからさらにDTOのクラスにして成形するというがあ…

ファンクションの使い方 NULL系【ORACLE】

■NVL(A,B) AがnullならBを ■NVL2(A,B,C) Aがnullではない場合、Bを、nullならCを ■COALEACE(A,B,C,D,E) AがnullではないならAを、そうでなければBを、BがnullならCを... ■NULLIF(A,B) A == BならNULLを、そうでなければAを

json作成のためのC# 【C#】

json2csharp.com 経緯 C#でjsonを扱うとき、特にapiを叩いて、帰ってきた値をjsonからオブジェクトを作成するとき。値が多すぎてクラス作るの面倒くせーーーとなるときに見つけた神サイト。 jsonからクラスオブジェクトにするときは、jsonに沿った構成のもの…

集計関数 問合せできない?できる? 【ORACLE】

経緯 集計関数の問合せできるできないルールがちょっと混乱することがあるので、解いて行きたい。 1,集計関数でネストしている場合 SELECT MIN(AVG(sal)) FROM emp; employees の salary の 平均avg の 最小値min が欲しい。一見良さそうであるが、group by…