EntityFramework CoreのアップグレードでINクエリがタイムアウトした話

情報システム部では社内システムを .NET + EntityFramework Core + SQLServer という組み合わせで開発しています。 本記事では、社内システム開発中に遭遇した EntityFramework Core が原因のパフォーマンス悪化と、その改善方法を紹介します。

SAP Connector for Microsoft .NETでSAPから大量データを効率的に取得する

SAP Connector for Microsoft .NET は .NET アプリケーションから SAP の BAPI 呼び出し等を実行できる SAP 社公式のライブラリです。 本記事では SAP Connector for Microsoft .NET を使用して BAPI を呼び出し、取得した大量データを SQL Server に連携す…

.NET MAUIのコントロールを自作しよう

.NET MAUI (.NET Multi-platform App UI)は .NET 技術をベースとしてネイティブアプリを開発するためのクロスプラットフォームフレームワークです。本記事では .NET MAUI におけるカスタムコントロールの作り方を紹介します。

ConsoleAppFrameworkでC#のCLIアプリを開発する

ConsoleAppFramework は UniTask や MemoryPack などを提供されている Cysharp が開発しているライブラリの1つで、 C# でコンソールアプリを手軽に開発することができます。 今回は ConsoleAppFramework を使用して簡単なコンソールアプリを開発する方法につ…

リソースの破棄にDestroyRefを使用しよう

DestroyRef は Angular 16 で追加された機能の1つで、 Component 等のスコープが破棄される際に呼び出されるコールバックを登録することができます。本記事では DestroyRef について簡単に紹介します。

Microsoft Graph API でプレゼンスを操作する

Microsoft Graph API は Microsoft のクラウドリソースに対する多種多様な操作をサポートしています。 本記事では Microsoft Graph API を使用したプレゼンス操作について紹介します。

WebView2をヘッドレスで使用する

WebView2 は Microsoft Edge ブラウザをネイティブアプリに組み込んで Web コンテンツを表示することができるコントロールで、ブラウザアプリやハイブリットアプリの開発に利用できます。 今回は WebView2 のちょっと変わった使用方法である、 GUI を利用し…

Angular Materialの見た目をカスタマイズしたい

Angular v15 がリリースされて既に数ヶ月が経過しました。 Angular チームが開発を行っている Angular Material も同時に v15 がリリースされています。 Angular Material v14 までは Material 2 の仕様に準拠したコンポーネント群を独自の実装で提供されて…

ASP.NET Coreの入力から制御文字を削除する

WebAPI を開発・保守していると特殊な文字(制御文字)が入力に紛れ込んでいて、その場面では問題にはならないけれども後続処理でエラーが発生する。。。なんてことがよくあります。入力から特殊文字を削除する簡単な方法としては API それぞれに対する特殊…

実はよく知らないC# 第2回:三項条件演算子

C#

普段何気なく使用している C# の機能について、 DLL をデコンパイルして実際にどのような処理がおこなわれているのかを眺めてみるコーナーです。2回目となる本記事では三項条件演算子について眺めてみたいと思います。

実はよく知らないC# 第1回:オブジェクト初期化子

C#

普段何気なく使用している C# の機能について、 DLL をデコンパイルして実際にどのような処理がおこなわれているのかを眺めてみるコーナーです。記念すべき初回となる本記事ではオブジェクト初期化について眺めてみたいと思います。

.NET MAUIのXAMLでDesignInstanceを利用する

WPF や Xamarin の XAML では DataContext に対して DesignInstance の設定を行い、 XAML 記述時にデータバインドする ViewModel の IntelliSense を有効にすることができました。筆者が MAUI を触ってみたところ全く利用できなくなってしまっていたため、暫…

.NET MAUIをAzure Pipelinesで発行する

.NET MAUI の GA からまもなく半年が経とうとしています。皆様は MAUI を触っていますか? 残念ながら筆者は全く触れていません。今回は将来的に触る際の布石として MAUI のビルド自動化周りを試してみた内容を紹介します。

EntityFrameworkのクエリを動的に生成する

EntityFramework を使用するとデータベースに対する検索処理を LINQ で記述することができるためとても便利です。しかし LINQ では動的な(可変の)検索条件を記述することができず、複雑な検索処理では SQL を利用せざるを得ません。そこで今回は式木( Exp…

Angular Standalone Componentsを試してみよう

2022年6月にリリースされた Angular 14 には Standalone Components という新機能が含まれています。今回は Standalone Components のみを使用して小さなアプリケーションを開発してみます。 試した環境 Standalone Components とは Standalone Components …

.NETの依存性注入を自動で登録する

近年の .NET 開発はコンソールしかり Web しかり、 Microsoft.Extensions.* 名前空間で提供されているホスト、ロギング、依存性注入などの機能を利用することが普通になってきたと感じています。今回はその中の依存性注入の機能に関して、独自の属性( Attri…

Angular 14からReactive Formsの型が固くなるようです

Angular でフォームに対するユーザー入力を処理するには、テンプレート駆動型とリアクティブ型の2種類の実装方法があります。 Angular 14 では後者のリアクティブ型に機能強化が行われ、フォームの型がフレームワークに認識される様になります。今回はこの強…

Azure PipelinesからAzureに自己証明書で接続する

Azure Pipelines から組み込みの機能を利用して Azure をはじめとする他のサービスに接続するには Service connection を使用します。今回は Azure Pipelines から Azure へ Service Principal を利用して接続する際に、自己証明書を使用して手動で Service …

EntityFramework Coreのバージョンアップに想定外に工数を取られた話

情報システム部では社内システムを .NET Core + EntityFramework Core (以下 EFCore) + SQLServer という組み合わせで実装しています。これらの中には既に EOL を迎えてしまっている .NET Core 2.1 や 2.2 で実装されたままバージョン更新できていないもの…

Angular CLIのビルドキャッシュでCIの速度アップを目指す

JavaScript(TypeScript)のビルド時間が長い問題に頭を痛めている方々はとても多いと思います。大規模なプロジェクトではフルビルドに数分~10分超かかってしまうこともしばしば。今回は Angular 13 で標準機能となったビルド時のディスクキャッシュを利用…

.NET MAUI を試してみた - 後編 -

前編に引き続き .NET MAUI を試してみます。 MAUI のプロジェクトテンプレートのソースコードの中身を眺めつつその感想を記してみました。前編ではプロジェクトを作成して実行してみるところまででした。 前編からの繰り返しとなりますが、この記事を執筆し…

.NET MAUI を試してみた - 前編 -

.NET MAUI(Multi-platform App UI)は .NET 技術をベースとしてネイティブアプリ(Android、iOS、macOS、Windows、etc...)を開発するためのクロスプラットフォームフレームワークです。昨年コロナの接触通知アプリ COCOA で良くも悪くも有名になった Xamar…