きよくらの備忘録

「三日坊主と呼ばせない!日記」改め。主にソフトウェア開発関連の話題。

.NET

DacFxで差分更新スクリプトを取得する際に特定のオブジェクトを除外する

更新用T-SQLスクリプト生成時に特定のオブジェクトを除外したい 先日書いたエントリ、 kiyokura.hateblo.jp ……の補足情報です。 特定のオブジェクトを更新スクリプトに含めたくない場合もあるのではないかと思います。私はあります。 DaxFxのSchemaCompariso…

DacFxを使って(C#で書いたコードを動かして)SQL Serverの差分更新スクリプトを取得する

Visual StudioのアドオンSQL Server Data Tools(以下SSDT)の機能に「スキーマ比較」ツールがあります。 これは大雑把に以下のような機能を持っています。 任意の "SQL Server データベースプロジェクト(以下DBプロジェクト)" / "(オンライン状態の)デ…

Hangfireを使ってみる (6):Jobの種類について:3. Continuations

前回の続きです 今回は3つ目のタイプのジョブについて。 3.Continuations 連続という玉突きというか、指定したJobが終わった後に実行されるように登録するタイプのジョブです。 この前提の話として、前回と前々回で紹介したFire-and-forgetとDelayedを登録す…

Hangfireを使ってみる (5):Jobの種類について:2. Delayed

前回の続きです。 今回は二つ目のタイプのジョブについて。 2.Delayed 指定した時間の経過後に遅延実行されるタイプ。 BackgroundJob.Schedule()またはBackgroundJob.Schedule<T>()で登録する際にTimeSpan型で指定した時間を経過した後に実行されます。 ドキュ</t>…

Hangfireを使ってみる (4):Jobの種類について:1. Fire-and-forget

Hangfire にはジョブの種類(と実行タイミング)がいくつかあるので、それぞれの動きについて調べてみたのでメモ。 ジョブの種類 Hangfireで利用できるジョブの種類は主に以下があるようです。 No 種別 説明 1 Fire-and-forget 即時実行。すぐに一回実行。 2…

Hangfireを使ってみる (3):HangfireでDIコンテナを使ってみる

前回の続きです。 前回は『ClientはASP.NET Webアプリケーション、ServerをWindowsコンソールアプリケーションで実装』という形の実装に変更しました。 構成としては今回私がやりたい要件*1を満たせそうですが、一点、実現できていないことがありました。 そ…

Hangfireを使ってみる (2):ClientとServerを別プロセスにしてみる

前回からの続きです。 前回は『ClientとServerの双方を同一のASP.NET Webアプリケーションに実装』しましたが、今回はこれを分離してみたいと思います。 Hangfire Clientと Hangfire Serverを別プロセスにする 今回は『ClientはASP.NET Webアプリケーション…

Hangfireを使ってみる (1):とりあえず触ってみる

最近 Hangfire について調査・検証しているのでメモ。 Hangfireとは Hangfireは.NET向けのバックグランド・タスクのライブラリです。 www.hangfire.io ストーレージにタスクをキューイングして、非同期に実行させることができます。即時実行だけでなく、cron…

SQL Server Data Toolsのユニットテスト実行前にLocalDBのインスタンスを破棄・再作成する

SQL Server Data Tools (SSDT)のユニットテスト機能ネタです。 テスト実行前の自動デプロイは便利だが失敗するケースがある 以前の記事(これとかこれ)でも触れた、SSDTの ユニットテスト実行前にDBインスタンスに自動でデプロイを行う機能 は非常に便利で…

真・SQL Server Data Toolsのユニットテスト実行前に複数DBにデプロイする

前回の続きです。 前回のエントリに対して、@ahiru_sp さんからアドバイスいただきました。 これ、DatabaseTestService の派生クラスを作って、引数ありのDeployDatabaseProject呼ぶのが正攻法?かと思ったけど、引数になに指定すればいいのか分からんかった…

SQL Server Data Toolsのユニットテスト実行前に複数DBにデプロイする

SQL Server Data Tools (SSDT)のユニットテスト機能では、テスト実行前にソリューション内のデータベースプロジェクトをテスト実行対象のデータベースに自動でデプロイしてくれる機能があります。 これは非常に便利な機能です。しかし、複数のデータベースに…

DapperのQuery<dynamic>()の結果セットのフィールド名を取得する

ちょっと必要があったのでメモ。 Querydynamic()>が返すdynamicの実体はDapper.SqlMapper.DapperRowのコレクション Query<dynamic()>()が返すdynamicの実体はDapper.SqlMapper.DapperRowのコレクションです。 このDapperRowはDapperのDapper.SqlMapperのprivateな型です</dynamic()>…

ExcelとT4 と私とLinq to Excel

本エントリはC# Advent Calendar 2015 の11日目の記事です。 Excelからソースコードの自動生成というと何やらSIerめいた感を受ける方もおられるかもしれません。が、例えばExcel形式のデータベース定義などはコトの進め方によって普通にありだと思いますし、…

byte配列に読み込んだファイルの内容をMemoryStream上でzipファイルにする

.NET Framework 4.5 から、普通のZipファイルの圧縮・展開がとても簡単に扱えるようになりました。 例えばDBのblob(varbinary)列に格納された複数のファイル(のバイナリ)を読み出し、単一のZipファイルにアーカイブしてメモリストリーム上に保持するなら…

AutoMapperを使ってオブジェクトを詰め替える

本日、ASP.NET MVC Do's and Dont's / Best Practices というまとめ記事が上がっていました*1。 その中の一つ(少し古い記事ですが内容は大変に有用だと思います)の12 ASP.NET MVC Best Practicesを見ていたら、 DomainModelからViewModelに詰め替える時に…

Visual Studio 2013 Update 3 の ASP.NET 周りの変更まとめ

Visual Studio 2013 Update 3 がRTWしました。 ダウンロードはこちらあたりから。 オフィシャルなアナウンスとしては下記あたりになると思います。 Visual Studio 2013 Update 3 の全体的な話: Visual Studio 2013 Update 3 RTM Available - The Visual Stu…

これからASP.NETを始める人が読むべき本

これからASP.NETをはじめる人に、『まずこの本を読みましょう』と即答できる書籍がようやく発売されました。 .NET開発テクノロジ入門 2014年版 VisualStudio2013対応版 (MSDNプログラミングシリーズ)作者: 酒井達明,山田祥寛,小高太郎,中原幹雄,芝村達郎,和…

ASP.NET Identityのカスタマイズ-既存のユーザ情報を使っての認証

ASP.NET MVC 5になって、認証のインフラとしてASP.NET Identitiyが登場しました。今までのMembership Providerと比べてかカスタマイズもし易く、使い勝手の良いところが素敵です。 ちょうど、『既に別システムで運用されている独自のユーザー情報をそのまま…

オンラインイベント"dotnetConf"が開催されます(ただし英語)

日本時間の2014.06.26-27に、開発者向けオンラインイベント「dotnetConf」が開催されます(※ただし英語。現地太平洋夏時間では2014.06.25-26)。 詳細はこちらのdotnetConfオフィシャルサイトから。 日本時間では深夜の時間帯とまあアレなのですが、Channel …

DapperはIN句も自動でマップしてくれるのが便利

本エントリはC# Advent Calendar 2013 3日目のエントリです。 Dapperいいよ、Dapper 最近は完全にDapper派(?)になっています。 ということで、今日はタイトルの通りDapperのIN句へのマップ機能を紹介したいと思います。 IN句に配列やリストを自動でマップ…

Team Foundation Server関連のAPI

Team Foundation Server(TFS)はAPIを提供しているため、.NETのコードからTFSの様々な機能を利用する事が出来ます。『Microsoft.TeamFoundation.〜』な感じの名前空間で提供されています。Microsoft.TeamFoundation〜のMSDNのドキュメントはこちら: Team F…