.NET CoreのSingle Fileを試す
ngForとtrackBy
Angular の *ngFor
は配列をループして表示するために使用されるディレクティブです。 *ngFor
ディレクティブには trackBy
というオブジェクト追跡用のプロパティがあり、これを使用すると配列内のオブジェクトの位置変更を追跡することができます。この trackBy
を色々試してみたためメモを残しておきます。
.NET Coreコンソールアプリにappsettings.jsonを追加する
ASP.NET Core アプリでは標準で appsettings.json
や appsettings.Production.json
を読み込んで設定として使用する、またはソリューションエクスプローラー上で階層表示することができます。しかしコンソールアプリではこのような機能が存在しません。
設定として読み込む事よりも csproj 設定を忘れることが多いのでメモしておきます。
appsettings.json をビルド時に出力ディレクトリへコピーする
csproj ファイルに CopyToOutputDirectory
を追加します。値は Never
、 Always
または PreserveNewest
の3択で、それぞれコピーしない、常にコピーする、新しい場合のみコピーする、です。
<Project Sdk="Microsoft.NET.Sdk"> <!-- 省略 --> <ItemGroup> <None Update="appsettings.json;appsettings.*.json"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </None> </ItemGroup> </Project>
appsettings.json を階層表示する
csproj ファイルに DependentUpon
を追加します。この設定により指定したファイルに対して階層表示がされます。
<Project Sdk="Microsoft.NET.Sdk"> <!-- 省略 --> <ItemGroup> <None Update="appsettings.json;appsettings.*.json"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </None> <None Update="appsettings.*.json"> <DependentUpon>appsettings.json</DependentUpon> </None> </ItemGroup> </Project>
.NET CoreとSqlBulkCopy
前回の記事で扱ってみたのですが、 .NET には SqlBulkCopy
という SQLServer に対して BulkInsert を実行するためのクラスがあります。注釈にはこう記述されています。
Microsoft SQL Server には、1台のサーバーでもサーバー間でも、あるテーブルから別のテーブルにデータを移動するためのbcpという一般的なコマンドプロンプトユーティリティが含まれています。 SqlBulkCopy クラスを使用すると、同様の機能を提供するマネージコードソリューションを作成できます。 SQL Server テーブル (INSERT ステートメントなど) にデータを読み込む方法は他にもありますが、SqlBulkCopy にはパフォーマンス上の大きな利点があります。
SqlBulkCopy クラスは、SQL Server テーブルのみにデータを書き込む場合に使用できます。 ただし、データソースは SQL Server に限定されません。データを DataTable インスタンスに読み込んだり、IDataReader インスタンスで読み取ることができる限り、任意のデータソースを使用できます。
使用してみると分かりますがデータの転送時間しかかかっていないんじゃ無かろうか、という程度には高速です。次回使用する時用の使用メモを残します。
続きを読む