C#
年始から始まったデジタルのアカウントの処分ですが、日本の金融系(銀行、証券会社、クレジットカードなど)のウェブアプリのパスワードの弱さが気になります。 特に、ニッセイ確定拠出年金などは「半角数字4~7桁」とのこと。ニッセイ確定拠出年金は出来れば…
5年以上前に書いて、そのままずっと運用していたC#のプログラムを書き直すことになった。 ついでに諸々のライブラリやフレームワークもアップデートすることにした。 System.Data.SqlClientはすでにメンテナンスが終了しており、Microsoft.Data.SqlClientに…
BcryptアルゴリズムはPBKDF2アルゴリズムと同様に、ソルト(同一パスワードから同一ハッシュ値が生成されるのを避けるためのユーザーごとに異なる値)とストレッチ(= イテレーション)を備えたパスワードハッシュ方法の一つです。 関連記事: mrgchr.hatenablog.…
PBKDF2アルゴリズムは、ソルト(同一パスワードから同一ハッシュ値が生成されるのを避けるためのユーザーごとに異なる値)とストレッチ(= イテレーション)を備えたパスワードハッシュ方法の一つです。 C#でPBKDF2アルゴリズムを利用するには、System.Security.…
たとえば、以下のようなテーブル定義と、 CREATE TABLE [dbo].[TodoItems]( [Id] [int] IDENTITY(1,1) NOT NULL, [Name] [nvarchar](50) NOT NULL, [IsDone] [bit] NOT NULL, CONSTRAINT [PK_TodoItems] PRIMARY KEY CLUSTERED ([Id] ASC) ) 以下のようなユ…
mrgchr.hatenablog.com 以前の投稿で、Dapper.SqlBuilderにパラメータを渡す際に、 var builder = new SqlBuilder(); var pageTemplate = builder.AddTemplate(pageSql); var countTemplate = builder.AddTemplate(countSql); if (userId.HasValue) { builde…
Dapper.SqlBuilderはシンプルながら便利なライブラリです。 mrgchr.hatenablog.com 今回は独自機能を追加してみようと思います。
膨大な数のレコードをページ表示する際に、アプリケーション側にページサイズよりも大きい数のデータを読み込むことは効率的ではありません。 今回はDapper.SqlBuilderを用いてページ表示を効率化させてみます。
(追記アリ) DapperのSQLプレースホルダでコーディングミスをしたので対応策の備忘録です。 文字列でのパラメータ指定が大嫌いなんです DapperやADO.NETはSQL中に"@“から始まる文言を用いることでプレースホルダを表現できます。 例えば下記の例では”@userId"…
Dapperを用いて一対多の関係をマッピングする方法の備忘録です。 例 データベースのテーブル定義は下記の通りです。 CREATE TABLE [dbo].[Users] ( [Id] INT NOT NULL PRIMARY KEY, [Name] NVARCHAR(64) NULL ) CREATE TABLE [dbo].[TodoItems] ( [Id] INT N…