K-FREEDOM Official Blog

K-FREEDOM Official Blog

Web&業務ソフト開発「ケイ・フリーダム」の公式ブログです。
新製品の情報、技術的な情報、サポート情報等を掲載します。

Amebaでブログを始めよう!
9月10日 おむかえ専用無料アプリ『おむかえチョ♪』をリリースします。照れ照れ照れ

使い方はカンタン♪
1.iPhone/iPadでAppStoreでダウンロード
2.GoogleまたはFacebookアカウントでログイン
3.アプリからペア番号を発行
4.招待された人がその番号をアプリで入力すれば準備完了♪ ニヤリ









ダウンロードはこちらからどうぞ♪おねがい


次期バージョンでは、Apple Watchからおむかえリクエストが送れるようになる予定です〜爆笑

最近はiOSアプリの開発が多いのでMac Book Proばかり使っていて、メインだったはずのVAIO S11に触れる機会が少なかった・・・。 嬉しいような悲しいような。

 

で、アプリのテストで不具合があったのでVisualStudioでAzure APP Serviceのソースを修正しようとログインしようとしたら・・・

 

なんかログインユーザーの一覧に、変な文字の羅列のユーザーがいる!!(しかも2人も!)

 

 

普通に考えて、自分が作っていないユーザーが一覧に載ってたら、焦りますよね?

 

しかも、意味不明な8文字くらいの文字の羅列。。。。

 

 

なんかヤバい感じだよね~

ウィルス!?

 

 

でも、怪しいアプリとか動かしていないし、変なサイトも閲覧していないし・・・(笑)

 

 

自分は無実である!

 

・・・などと心の中で言い訳しつつ、Google先生にお尋ねしてみた。

 

 

私:「先生、Windows10で、勝手にユーザーが追加されるんですけど。」

 

先生:「ESETのアンチセフトによってユーザーが勝手に追加されるらしいよ?」

 

私:「なんですとーー!?」

 

 

 

はい、それ正解でした。

 

ESETのアンチウィルス買って入れてます。

仕事用のPCなのでちゃんと有料のを買いましたよw

 

なのに、そのESET君が、あろうことに勝手にユーザーを追加するとは・・・。

 

ESETのWebサイトに誘導されて自分のアカウントにログインして確認したところ、アンチセフトのページにちゃんと追加された文字の羅列のアカウント名が載っていました。。。。

 

 

どうやら、PCが盗難された際にそのアカウントを使ってデータ保護などをするらしい?のですが、ユーザーからしたら、PC乗っ取られたのかと心配になりますがな。。

 

 

まぁ私もあまり考えずにアンチセフト機能をONにしたのかもしれないので、言えませんが。

 

 

でも、もうちょっとわかりやすく「こんな名前のユーザー追加しますよー」くらい確認メッセージやメールがあっても良いのではないですかねぇ。

 

 

ともあれ、原因がわかってよかったよかったw

Visual Studio 2017 + Azure SQL Server + ASP.Net Core1.1を使用し、EFのDB FirstでModelを準備し、Web API(またはWeb Application)を作成するにあたって、初期の開発環境の作成に時間がかかったので備忘録として書いておく。

 

<<主な手順>>

手順1.Visual Studio 2017でプロジェクトを作成。

手順2.EntityFrameworkCoreの参照設定(Nuget)

手順3.EntityFrameworkCoreでのモデルのリバースエンジニアリング

 

 

<<手順詳細>>

手順1.Visual Studio 2017でプロジェクトを作成

 

・Visual Studio 起動。

 

・Ctrl + Shift + N で新規プロジェクト作成。

・テンプレートのVisual C# - Web - ASP.NET Core Web アプリケーション(.NET Core)を選択。

・プロジェクトを保存するフォルダを選択してOKを押下。

 

・ターゲットにASP.NET Core 1.1が選択されていることを確認。

・テンプレートからWeb APIを選択。

・認証は「認証無し」のまま。

・OKを押下。

 

・プロジェクトが読み込まれる。

・パッケージマネージャコンソールが開いている事を確認。(例では画面左下に開いている)

 開いていない場合は、「表示メニュー」から「その他のウィンドウ」-「パッケージ マネージャ コンソール」を選択して表示させる。(手順3で使用する)


 

手順2.EntityFrameworkCoreの参照設定(Nuget)

 

・パッケージマネージャコンソールでリバースエンジニアリングを行う前に、Nugetで必要な参照設定を行う必要がある。

・プロジェクトの「依存関係」を右クリックし、「Nugetパッケージの管理」を選択。

 

・初期では「インストール済み」パッケージのみが表示されているので「参照」を選択。

・検索欄に「Microsoft.EntityFrameworkCore」を入力して検索実行。

・以下の4つの参照を追加。

 1.「Microsoft.EntityFrameworkCore」

 2.「Microsoft.EntityFrameworkCore.Tools」

 3.「Microsoft.EntityFrameworkCore.SqlServer」

 4.「Microsoft.EntityFrameworkCore.SqlServer.Design」

※追加するには、左側で選択して右側の詳細画面の「インストール」を押下。

 

※最新の環境で開発をするのであれば、この時点で「更新プログラム」を表示してすべてのパッケージを更新するのもよい。(使用するパッケージによっては相反する場合もあるので注意)

 

 

手順3.EntityFrameworkCoreでのモデルのリバースエンジニアリング

 

パッケージマネージャコンソールで以下のコマンドを実行。

Scaffold-DbContext "Server=tcp:{your sql server host address}.database.windows.net,1433;Database={your database name};User ID={your database user id};Password={your database user password};Trusted_Connection=False;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models

 

※意味としては、Server以降二重引用符内に記述された接続文字列を使用して、SQLServerに接続し、コンテキストおよびモデルクラスを「Models」というフォルダに作成するという事。

 

・エラーが表示される場合があるようだが、その場合は一旦Visual Studioを閉じ(プロジェクトを閉じ)、開きなおす。あとはプロジェクトを一度ビルドする。などを行ってみる。

※それでも正常に動作しない場合は、PM(パッケージマネージャ)コンソールに入力した接続文字列の内容を疑う。

 

・処理が成功すると、自動的に「Models」フォルダが作成され、コンテキストおよび各モデルが作成される。同時に作成された「xxxContext.cs」ファイルが開かれる。

 

・内容を見るとわかるが、接続文字列がこのコンテキストファイルにベタ書きされている。。。

 基本的にサーバーにモジュールを配置するとは言え、ソースを解析されるとパスワードが見えてしまうというのはNGなので、そこは設定ファイルに移動するなり工夫する事。

 

 

今回はEntityFrameworkCore1.1にてDataBase-Firstでコンテキスト・モデルをプロジェクトに生成した。

 

 

 

 

次回は、DB接続情報をプロジェクトの構成ファイル(appsettings.json)から取得する予定。