2018/06/16

[.NET Core]EntityFramework Core2.1でGROUP BY句がSQLで実行されるようになったので検証してみた

はじめに

以下の記事で、.NET Core の EntityFramework Core 2.1で GROUP BY 句がインメモリではなく、SQLでデータベース上で集計されるようになったということで検証してみました。

 EF Core 2.1 に対する最初の大きな追加は、GroupBy LINQオペレーターがGROUP BY句を使ったSQLに変換されることである。このサポートが欠けていることは、EF Core 2.0の大きな欠落だと考えられている。

Entity Framework Core 2.1は、SQL Query生成を改善してリリースされた

検証環境は、Mac (macOS High Sierra 10.13.5)、PostgreSQL 10.3 になります。

なお、検証結果が予想に反したため、MySQL 5.7.12 での追加検証を行っています。

続きを読む "[.NET Core]EntityFramework Core2.1でGROUP BY句がSQLで実行されるようになったので検証してみた" »

[.NET Core]Macで.NET Coreをアンインストールして古いバージョンをインストールする

.NET Core をいじっていると、.NET Core をアンインストールしたくなったり、古いバージョンに戻したくなったりすると思います。

そんなときの対応を残しておきます。

続きを読む "[.NET Core]Macで.NET Coreをアンインストールして古いバージョンをインストールする" »

2018/04/01

.NET Core向けOPMLパーサーをオープンソースとしてGitHubに公開しました

はじめに

.NET Core 向け OPML パーサーである「OPMLCore.NET」を Visual Studio Code で作成し、オープンソースとして GitHub に公開しました。ライセンスは MIT ライセンスになります。

簡単に使用できるのが特徴で、しかも OPML パーサーとはいいつつも既存のデータから OPML を作成することもできます。

OPML (Outline Processor Markup Language) とは、主に RSS リーダーの購読情報のインポート・エクスポート用によく使われる XML 形式のファイルです。

.NET Core 向けの  OPML パーサーがないか探してみたのですが全く見当たらなく、唯一参考にできる記事が英語サイトであったので、これを参考にしてプログラムを書いてみました。

続きを読む ".NET Core向けOPMLパーサーをオープンソースとしてGitHubに公開しました" »

2018/03/24

[.NET Core]Entity Framework Coreで INNER JOIN / LEFT JOIN を実装する方法

はじめに

Entity Framework Core で INNER JOIN と LEFT JOIN を実装する方法ですが、ちょっと試行錯誤したのですがその方法をご紹介します。

アプリケーションはコンソールアプリケーションで、データベースは PostgreSQL を使用しコードファーストでデータベースを構築しました。

なお、環境は、Mac (macOS High Sierra 10.13.3) で .NET Core SDK 2.1.4、PostgreSQL 10.3 、Visual Studio Code になります。

続きを読む "[.NET Core]Entity Framework Coreで INNER JOIN / LEFT JOIN を実装する方法" »

2018/03/22

[.NET Core]Entity Framework CoreのDbContext#SaveChangesがトランザクション処理をしていることを確認する

はじめに

前の記事では、SELECT 処理の SQL ログの出力方法をご紹介しましたが、更新系のログをフィルタをかけない状態のものをご紹介していませんでした。

なぜフィルタをかけない更新系のログを見る必要があるかというと、DbContext#SaveChanges メソッドを呼び出すだけでトランザクション処理を行っていることを確認するためです。

DbContext#SaveChanges メソッドを呼び出して例外処理をするだけで、簡単にトランザクション処理を行うことができるということですね。

では、実際に更新系の SQL ログを確認してみましょう。

続きを読む "[.NET Core]Entity Framework CoreのDbContext#SaveChangesがトランザクション処理をしていることを確認する" »

2018/03/21

[.NET Core]ローカルライブラリをNuGetでパッケージ化して、他のプロジェクトにインストールする方法

はじめに

.NET Core でローカルのライブラリを作成して NuGet でパッケージ化し、他のプロジェクトにインストールしようと思ったのですが、ネット上のどこにも具体的な方法が掲載されておらずかなり苦労しましたが、ようやくその方法が分かりましたのでご紹介します。

なお、環境は Mac (macOS High Sierra 10.13.3) で .NET Core SDK 2.1.4、Visual Studio Code になります。Windows でもパスさえ変えれば同じように動作すると思います。

続きを読む "[.NET Core]ローカルライブラリをNuGetでパッケージ化して、他のプロジェクトにインストールする方法" »

[.NET Core]Entity Framework Coreでトランザクション制御を行う

はじめに

.NET Core の Entity Framework Core では、デフォルトでトランザクション制御が行われます。

具体的には、MyContext#SaveChange メソッドが呼び出された際にトランザクションが開始され、データの更新が成功すればコミット、失敗すればロールバックされ例外がスローされます。このトランザクション処理については、以下の記事を参考にしてください。

とはいえ、複数回 MyContext#SaveChange メソッドを呼び出すこともあるでしょうし、トランザクションの分離レベルを指定したい場合もあるでしょうから、明示的にトランザクションを制御する方法は必要です。

この記事では、.NET Core のコンソールアプリケーションで、コードファーストからのトランザクション制御をする方法をご紹介します。

なお、環境は Mac (macOS High Sierra 10.13.3) で .NET Core SDK 2.1.4、PostgreSQL 10.3 、Visual Studio Code になります。とはいえ、Windows でも同じように動作すると思います。

続きを読む "[.NET Core]Entity Framework Coreでトランザクション制御を行う" »

2018/03/20

[.NET Core]ASP.NET CoreでNLogを使ってログを出力する

はじめに

前の記事では、.NET Core のコンソールアプリケーションで NLog を使ってログを出力する方法をご紹介しましたが、今回は ASP.NET Core での方法をご紹介したいと思います。

気をつけなければいけないのが、コンソールアプリケーションでは NLog.Extensions.Logging パッケージをインストールするのですが、ASP.NET Core では NLog.Web.AspNetCore をインストールする必要があることです。

なぜこんなことになっているかは不明ですが、NLog の公式ページで書いてあるのでなにか事情があるのでしょう。

さて、今回も環境は Mac (macOS High Sierra 10.13.3) で .NET Core SDK 2.1.4、Visual Studio Code になります。

とは言っても、Windowsでもパスを読み替えれば使えると思います。もともと Windows のツールですので。

続きを読む "[.NET Core]ASP.NET CoreでNLogを使ってログを出力する" »

[.NET Core]コンソールアプリでNLogを使ってログを出力する

はじめに

技術調査の段階では軽視されがちなログ出力ですが、実運用となるとログがなければ問題解決の話にならないこの現実は厳しいなと思う今日この頃、みなさまにおかれましてはログをどのように扱っているでしょうか?

さて、ちょっと変わった出だしですが大事ですよね。ログ。

では、.NET Core でログ出力をどのようにすればよいのかですが、いくつか候補はあるものの最近は NLog が人気があるようです。ですので、この記事では NLog でどのようにログ出力すればよいのかをご紹介します。

なお、環境は、Mac (macOS High Sierra 10.13.3) で .NET Core SDK 2.1.4、Visual Studio Code になります。

とは言っても、Windowsでもパスを読み替えれば使えると思います。もともと Windows のツールですので。

続きを読む "[.NET Core]コンソールアプリでNLogを使ってログを出力する" »

2018/03/18

[.NET Core]Entity Framework CoreでSQLログを出力する

はじめに

.NET Core の Entity Framework Core で LINQ を使用してデータベースアクセスしていると、実際にはどのような SQL が発行されているのか気になることがあります。

Entity Framework Core には、いくつかの方法で SQL ログを出力することができますが、この記事ではコンソールアプリケーションでコンソールに出力する方法をご紹介します。

なお、環境は、Mac (macOS High Sierra 10.13.3) で .NET Core SDK 2.1.4、PostgreSQL 10.3 、Visual Studio Code になります。

続きを読む "[.NET Core]Entity Framework CoreでSQLログを出力する" »

より以前の記事一覧



プロフィール

  • 名前:fnya
    経歴:
    SE としての経験は15年以上。様々な言語と環境で業務系システム開発を行い、セキュリティ対策などもしていました。なんちゃってSE。

    フリーウェア、Webサービス開発のためにEntyで支援を受け付けています。ご支援のほどよろしくお願いいたします。

    Twitter では、ブログでは取り上げない情報も公開しています。


    ブログについて

    このブログは、IT、スマートフォン、タブレット、システム開発などに関するさまざまな話題を取り上げたり、雑感などをつづっています。


    >>自作ツール
    >>運営サイト
    >>Windows 10 まとめ
    >>ブログ詳細

    Twitter のフォローはこちらから Facebook ページはこちら Google+ページはこちら RSSフィードのご登録はこちらから


最近の記事