Oracle Database 21c で LINQ を使う準備

Hyper-V の Windows Server に Oracle 21c を入れて、LINQ が使えるようにするところまでのメモ書きです。 Oracleは 11g 以来(実務だと9i あたりか)なので、途中にかなり間があいていますが、インストールとかデータベース作成とか落とし穴的なところは以前と変わらず。ちなみに、Java で作ってある超遅いインストーラは 21c から抜群に早くなっています。平行して試した 19c だと遅いままなので、おそらく 21c から最適されていた模様です。 おそらくお手軽なのは、Oracle Cloud を使うようなのですが、今回は訳あってオンプレミスな環境でテストをします。 仮想環境の構築 Hyper-V 上に Windows Server 2022 をインストール メモリを 8GB、ストレージを 64GB 割り当て ストレージは、ホストの SSD 上に作成す … 続きを読む

カテゴリー: 開発 | Oracle Database 21c で LINQ を使う準備 はコメントを受け付けていません

既存のMySQLからEF CoreのEntityを作成する

MySQLの場合、コードファースト的にコードからデータベースを更新していけばよいのですが、既存のデータベースから Entity を作りたいときがあります。まあ、先日てもとの Redmine をバージョンアップさせて、せっかくなので .NET6 からアクセスしようと思って、さて、と思案した経過を残しておきます。 redmine.projects のエンティティクラスを手作業で作る 一番手っ取り早いのは、手作業でエンティティクラスを作ることです。エンティティクラスは単純な値クラスなので、プロパティを並べれば ok. MySQL Workbench の結果から、ちまちまと C# のクラスを作るか、スキーマを参照しながら手作業で作ります。 NULL 許可の部分をチェック tinyint(1) を bool に直す timestamp を DateTime あるいは DateTimeOffset に … 続きを読む

カテゴリー: 開発 | 既存のMySQLからEF CoreのEntityを作成する はコメントを受け付けていません

ACCESS を .NET Core の EF Coreでアクセスする

いまさら ACCESS を扱うにしても ADO.NET の DataSet や DataTable を使いたくない場合があります。素直に .NET Framework のほうを使ってもいいのですが、.NET5(多分 .NET6でも大丈夫)で ACCESS のデータベースファイル(*.mdb)を扱います。 EntityFrameworkCore.Jet: Entity Framework Core provider for Access database を使います。 ちょっとだけ難点があって、EF Core の 3.x(最新は EF Core 5.x)だけ対応しています。なので EF Core のバージョンをひとつ前に戻さないといけないのですが、DataSet を使ってちまちまとカラム名を入力するよりは楽です。現在のプロジェクトだと以下のようになります。 これは WPF のプロジェクトなの … 続きを読む

カテゴリー: 開発 | ACCESS を .NET Core の EF Coreでアクセスする はコメントを受け付けていません

.NET CoreでNULL付きのデータをSQL Serverに大量投入する

2年ほど前、LINQ を使って大量データを INSERT すると遅すぎるので、LINQ の INSERT を SqlBulkCopy にするとどれだけ早くなるのか? | Moonmile Solutions Blog で、SqlBulkCopy を試しました。この記事の例では、6秒から 0.06 秒になって 100 倍になっています。実際は、仕事で使うデータ移行分があって、2万件ほどが1時間ぐらいかかっていたのが、数秒で終わるように効率化されています。 このツール自体は .NET Framework の EF6 で書いているのですが、現在 .NET5 の EF Core で書き換え中です。いままで、EF6 を使って Visual Studio 上で Model クラスを作っていたのですが、EF Core のほうでコードファースト的にテテーブル用に対応するクラスを作っています。コードファース … 続きを読む

カテゴリー: 開発 | .NET CoreでNULL付きのデータをSQL Serverに大量投入する はコメントを受け付けていません

COCOA のビーコンを Windows 10 で受け取る

かねてから、接触確認API(Exposure Notifications API)は自作しないとあかんな、と思っていたのでおもむろに自作してみることにします。要は、接触確認アプリのテストがしにくい(EN API が有効な保健省アカウントしかできない)ので、一般サイドから見ると「きちんと動いているかどうかわからない」のが問題ですね。これは、COCOA 自体から EN API を触るときも同様で、去年の6月当初から検証しにくい環境であることができになっています。 で、EN API については内部的な細かい動作はさておき、仕様は Apple/Google の共同文書ということで公開されています。 Exposure Notification – Bluetooth Specification Exposure Notification – Cryptography Spec … 続きを読む

カテゴリー: 開発 | COCOA のビーコンを Windows 10 で受け取る はコメントを受け付けていません

MAUI で ListView を使って撃沈してみるテスト(Windowsのほうは大丈夫)

MAUI を始める、というか調べることにしたので、なにはともあれ Web API を呼び出して、なにかリスト表示をしようと作ってみる。だが、作ってみる途中でどうも動かないので、備忘録に記録しておく。 実は MAUI のドキュメント自体は極めてすくなくて、.NET Multi-Platform App UI documentation – .NET MAUI | Microsoft Docs 程度しかない。なんというか、いまのところ何もない状態に近いので、肝心の画面をどう作っていくのか?に関しては全くわからない。でも、まったくわからないながらも、もともと Xamarin.Forms からの移行になるのだから、Xamarin.Forms の XAML 形式をコピペすればいけるだろう。ということで、最初は Visual Studio 2019 を使って Xamarin.Forms で … 続きを読む

カテゴリー: 開発 | MAUI で ListView を使って撃沈してみるテスト(Windowsのほうは大丈夫) はコメントを受け付けていません

Xamarin.Formsでログをファイル出力する(Android編)

Xamarin.Forms で System.Diagnostics.Trace を使ってログファイルに出力する方法は、iOS版と同じなので省略、、、したいところですが、実は落とし穴があります。 Androidでログファイルは何処に出力されるのか? Xamarin.Forms の共通プロジェクトで、Appクラスのコンストラクタ(App.xaml.cs)に以下のように書いておくとiOSでもAndroidでも統一的に Trace の結果をファイルに出力することができます。 var dir = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); var filename = Path.Combine(dir, $”log-{DateTime.Now.ToString(“yyyyMMdd-HHmm”)}.txt”); … 続きを読む

カテゴリー: 開発 | Xamarin.Formsでログをファイル出力する(Android編) はコメントを受け付けていません

Xamarin.Formsでログをファイル出力する(iOS編)

Xamarin の場合、Visual Studio を通してデバッグ実行する場合は、System.Diagnostics.Debug か System.Diagnostics.Trace を使います。そのまま Visual Studio のデバッグ出力ウィンドウに表示されるので、手軽にプログラムの動作が確認できます。もともと、System.Diagnostics.Debug などは、.NET の Windows プログラミングで使われていたものなので、.NET であれば全般的に使えます。 つまり、ASP.NET でも、Blazor でも Azure Functions でも同じ様に使えるわけです。 同じ様に使えるということは、知識の使い廻しができる点で、 System.Diagnostics.Debug.WriteLine( message ); の使い方が、どの .NET 環境で利用でき … 続きを読む

カテゴリー: 開発 | Xamarin.Formsでログをファイル出力する(iOS編) はコメントを受け付けていません

台東区ホームページの移行見積もり時間を見積もる

暫く忘れていた台東区ホームページ https://www.city.taito.lg.jp/ がリニューアルされました。この台東区のページ、去年の2月頃に「PHPはセキュリティに危ないから使ってはいけない」という要件が含まれていた案件です。ツイッター関係で、別に PHP がセキュリティ的に甘いのではなくて、作りが曖昧のだという議論があって、その後「バックエンドならば PHP をつかってもよい」という要件に変わったのですが、フロントエンドでは「動的生成をしてはいけない」というちょっと厳しめの案件でした。 入札なので、見積もり期間が短かった(2週間弱だったと思う)のと、6月スタート、12月運用開始という非常にハイスピードなため、どこかあらかじめ発注する場所が決まっているのではないか?と勘ぐってはみたいのですが、実際のところは結構堅めの会社が受注しました。台東区が出した予算枠が 5000万円だっ … 続きを読む

カテゴリー: 開発 | 台東区ホームページの移行見積もり時間を見積もる はコメントを受け付けていません

ラズパイで adb コマンドを使う

その昔、ラズパイで adb コマンドを使うのはえらい苦労した覚えがある(ARM なのでソースコードからビルドする必要があった)のだけど、さっくりと apt-get で可能になってた。 Install ADB and Fastboot on RasPi 3 – Raspberry Pi Forums sudo apt-get install -y android-tools-adb android-tools-fastboot 自分を plugdev グループに追加 sudo adduser $LOGNAME plugdev adb で接続 adb devices adb shell orange pi の armbian でも大丈夫でした。これで Android の自動化が捗る…かもしれない。

カテゴリー: 開発 | ラズパイで adb コマンドを使う はコメントを受け付けていません