C#

C#ネタ

ASP.NET Core MVCにおけるViewモデルの考察
C#

ASP.NET Core MVCにおけるViewモデルの考察

MVCにおけるViewモデルの考察 CRUD(作成、読み取り、更新、削除)パターン大抵の業務アプリの画面は、CRUD(作成、読み取り、更新、削除)パターンとなると思いますが、単純なマスタテーブルのメンテナンス画面とは異なりViewモデルそのものについて何がいいのか考えさせられることが多々あります。 ということで、アクションの立場に立ってCRUDの各処理を実行する際どのようなインターフェースが必要になるか整理してみます。 なお、なんのデータかは具体的ではないので、とある「案件のデータ」という表現をしていきます。 案件データの表示GETメソッドで、クライアントは案件の識別子(更新時)またはパラメータ無し(新規作成時)でリクエストを行い、サーバーは案件のデータを読み取り結果をクライアントにレスポンスし表示します。レスポンスするデータ(Viewモデル)

NLogLoggerProvider
C#

NLogLoggerProvider

去年、.NET CORE rc版で実装を行った際、デフォルトのLoggerがいまいち使いにくかったのと、Debugがログファイルに出力できなかったため作ったNLog用のLoggerProvider。 今はもうNugtで同じようなものがありますけど(笑) NLogLoggerProvider.cs namespace SqlRock.Logging { public class NLogLoggerProvider : ILoggerProvider { private bool _disposed = false; public NLogLoggerProvider() { } public Microsoft.Extensions.Logging.ILogger CreateLogger(string

MVC6

Mac・LinuxでMVC6(asp.net5)を動かす

この記事はもう過去のプレビュー版での話になってしまったので、現在は https://docs.microsoft.com/ja-jp/dotnet/core/linux-prerequisites?tabs=netcore2x#install-net-core-for-debian-8-or-debian-9-64-bit を参照のこと。 折角クロスプラットフォームになったdnx。実際にMac・Linuxで動かしてみた。 環境構築 Linux編 今回は、Debian8での構築。 Monoのインストール 普通にapt-getでmonoはインストールできるけれど、現在mono3.xになってしまう。MVC6を動かすには、mono4.xが必要とのことなので、リポジトリを登録して、apt-getする。 Monoのサイトできちんとした説明があるので詳細はWebで! http://www.mono-project.com/docs/getting-started/install/linux/ # apt-key adv --keyserver keyserver.ubuntu.

C#

.NETでプライベートなフィールドに値セット

http://stackoverflow.com/questions/1233743/change-default-winform-icon-across-entire-app [STAThread] static void Main() { // pure evil typeof(Form).GetField("defaultIcon", BindingFlags.NonPublic | BindingFlags.Static) .SetValue(null, SystemIcons.Shield); // all forms now default to a shield using (Form form = new Form()) { Application.Run(form); } } 上記のコードでは、Formクラスのプライベートなフィールド「defaultIcon」

C#

C#でXMLからクラスを作成する

VS2013以降であれば 1. 新規にクラスファイルを作成する。 2. XMLをクリップボードにコピーする。 3. VSのメニュー[編集]-[形式を選択して貼り付ける]でXMLを指定してあげれば、クラスの出来上がり。 以上終了...昔みたいにxsdで作成する必要は一切なし。しかも、変換精度もなかなかのもの。 JSONもできるので、WEBサービスのインターフェース用クラスの作成なども、JSONさえあれば1秒仕事!!

C#

LinqToSql

sqlmetalとLinqToSqlを利用したDBアクセスのメモ。 DAOを自動生成 sqlmetal.exeでSqlServerのスキーマからDAOを自動生成させる。 sqlmetal.exe /server:192.168.113.161 /database:hogedb /user:sa /password:passewd /namespace:Bl.Test /code:Hogedb.cs /language:csharp /sprocs /functions /views オプション詳細については、https://msdn.microsoft.com/ja-jp/library/bb386987(v=vs.110).aspx /sprocs や /functions のオプションでプロシージャやファンクションもメソッド化できる。