Entity Frameworkで特に指定しない場合、複合型(ComplexType)は「{プロパティ名}_{複合型のプロパティ名}」という名前のカラムにマッピングされます。たとえば次のようになります。 エンティティ // メールアドレス(複合型) public class MailAddress { …
できるかな?できるよね?と思って試したらやっぱりできたのでメモ。 コレクションにバインドする まずはおさらいということでコレクションにバインドするサンプルです。 name属性に配列のようにインデックスを指定します。 ビュー @using (Html.BeginForm()…
前に少し考えたときは思いつかなかったのですが、今日ふと思い立って書いてみました。 コレクションの要素を5個ずつでグルーピングするサンプルです。 static void Main(string[] args) { var letters = "abcdefghijklmnopqrstuvwxyz".ToCharArray(); Consol…
いつものごとくタイトルが微妙な気もしますが、やりたいことは「DBに注文テーブルと注文明細テーブルがあって、注文明細のコレクションを持っている注文にマッピングしたい」といった感じのことです。 てことでマッピングするクラスです。 // 注文 class Ord…
SQL Server 2012からOFFSET句とFETCH句が追加されて、クエリだけでページングを実現できるようになりました。Entity Frameworkを使っているときに、SkipメソッドとTakeメソッドを使うとOFFSET句とFETCH句が使われるの?ってあたりが気になったのでログで発行…
SqlCommandにはタイムアウトの時間を設定するSqlCommand.CommandTimeoutプロパティがあります。 SqlCommand.CommandTimeout プロパティ (System.Data.SqlClient) MSDNからもわかりますがタイムアウトした時にはSqlExceptionがスローされます。 このSqlExcept…
クロス結合(CROSS JOIN)はLINQを使ってどうやって書くんだろうと気になったので調べてみました。 SQLでもほとんど使わないのでC#でもほとんど使わないとは思いますが・・・。重複ありのすべての組合わせを出したいときに使えるかなーと思います。まぁほと…
Win + Rのあれですね。 主にWebサーバやDBサーバを管理するときに使いそうなコマンドです。というより最近覚えたコマンドとたまに使うので覚えたいコマンド。 管理ツール コマンド IISマネージャー inetmgr SQL Server Management Studio ssms コンピュータ…
久しぶりにJson.NETのメモです。 Json.NETを使ってenum値をJSONに出力するとき、デフォルトでは数値になります。数値だとぱっと見わかりにくいので文字列で書き出したいときがあると思います。そんなときはStringEnumConverterを使います。 使い方はたぶん2…
cURLの個人的なメモその2です。 その1はこちら。 とりあえず覚えた cURL のオプション - いちろぐ 今回はファイルのアップロードとダウンロードです。 ファイルのアップロード multipart/form-dataでファイルを送信するには-Fオプションを指定します。name=v…
いい解決方法が見つかったわけではありませんが、ちょっとはまった記念に残しておきます。 TypeScriptで次のようにアロー関数を使って単にオブジェクトリテラルを返そうとしたのですが、コンパイルエラーに・・・。 // TypeScript [1, 2, 3].map((value, ind…
SELECT文のTOP句にパラメータを使用できることを初めて知りました。 こんな感じ。Dapperでクエリを実行するサンプルです。 // TOP句に@countを指定する var sql = @" select top (@count) * from (values (N'ホルモン', 490), (N'カルビ', 880), (N'キムチ',…
UPDATEトリガーで自身を定義したテーブルに対してまたUPDATEしたら無限ループに入らないの?と疑問に思ったので試してみましたと言う内容です。 説明するよりクエリを見てもらった方がわかりやすいと思うので、さっそくテーブルとUPDATEトリガーを。UPDATEト…
トリガーをほぼ使ったことがないトリガー初心者なのですが、使う機会がでてきそうで調べていました。とりあえずDMLトリガーの、さらにAFTERトリガーにしぼって気になったところを試してみたので、少しメモとして残しておきます。 まずはテスト用のテーブルと…
T-SQLのPRINTを使うとクライアントにメッセージを通知できます。そのメッセージはSqlConnection.InfoMessageイベントで取得できます。 また、RAISERRORでも重大度(severity)が10以下の場合は、同様にSqlConnection.InfoMessageイベントでメッセージを取得…
検索すると再帰CTEのサンプルはいろいろ見つかりますが、自分で書いたクエリを残しておきたいなと思って書いてみました。おさらいというかメモというか。 共通テーブル式を使用する再帰クエリ 上記MSDNにもありますが、再帰CTEのざっくりした書き方はこんな…
Entity Frameworkを使って直接SQLを実行したいときがあって、さらにパラメータの渡し方が気になったので試していました。 まず直接SQLを実行するメソッドは2つ用意されています。 Database.SqlQuery メソッド (System.Data.Entity) Database.ExecuteSqlComma…
lib.d.tsの場所のメモです。 ローカルだと(Visual Studioがインストールされていれば)ここ。 C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\CommonExtensions\Microsoft\TypeScript\lib.d.ts またはcodeplexにも。 http://typescript.…
MWA(Microsoft.Web.Administration)を使って、IIS上にあるWebアプリのIP制限を操作するC#のコードを書いてみましたので残しておきます。 MWAを使うにはプロジェクトの参照にMicrosoft.Web.Administration.dllを追加する必要があります。私のローカル環境(…
backup database や restore database で DB名のところに変数を指定できます。 DB名やテーブル名などでは変数が使えないと思っていたのでちょっとした発見でした。ということでクエリを残しておきます。 BACKUP (Transact-SQL) RESTORE (Transact-SQL) backu…
Entity Framework のトランザクションについて、前回と同じようにログを確認してみます。Entity Framework のトランザクションのデフォルトの動きやトランザクション自体の使い方はこちらが参考になります。 Entity Framework Working with Transactions (EF…
Entity Framework 6でログ出力できるようになったことを知ったのでちょっと試してみました。 ログを出力するには DbContext.Database.Log プロパティに string を受けとる Action デリゲートを渡します。 using (var context = new AppDbContext()) { contex…
ローカルの開発環境などプロキシを使っている環境下で、ASP.NET Identity を使って外部サービスによるユーザ認証を行うには、サーバ間通信の際にプロキシの設定を行う必要があるのですが、それはどこでするの?ってお話です。 たとえば Google の OAuth 2.0 …
SqlCommand の ExecuteReader でクエリを実行する時にパラメータを渡すと sp_executesql を使って実行されます。パラメータを使わないと sp_executesql は使われないようです。 MSDN より引用します。 ADO.NET での side-by-side 実行 .NET Framework versio…
cURL のオプションはたくさんあります。たまに使う頃には忘れているということを何度か繰り返しています。なので最低限のことをするために覚えたというか思い出すためというか。 とりあえずヘルプ curl -h ずらりと出てきますね。 シンプルに GET リクエスト…
ASP.NET Identity のサンプルを試したり調べたりしていると、ASP.NET Identity と Katana(Microsoft OWIN)それぞれにあるクラスがこれはどっちだっけ?とかリファレンスどっちだろ?とかなるときがあるので、自分用にメモしておきます。 ASP.NET Identity …
先月 ASP.NET Identity 2.0.0 beta1 がリリースされて、nuget でサンプルアプリケーションをインストールできるので試してみました。 Announcing preview of Microsoft.AspNet.Identity 2.0.0-beta1 - .NET Web Development and Tools Blog - Site Home - MS…
最近 ASP.NET Identity とか Katana の勉強を始めました。 Introduction to ASP.NET Identity : The Official Microsoft ASP.NET Site Katana Project - Home とりあえず小ネタのメモを1つ。 MVC のプロジェクトで google や facebook のログインがうまくい…
SQL Server 2012 からですが、ORDER BY 句に OFFSET 句と FETCH 句が追加されています。クエリだけでページングを実現できるので素敵ですね。 ということで試してみたのでクエリなどを残しておきます。 まずクエリはこんな感じです。 select * from テーブル…
get アクセサだけを定義したメンバに値を代入してもコンパイルエラーにならないようです。 サンプルコードです。 class Sample { private _value: number; constructor(value: number) { this._value = value; } // get アクセサだけ定義 get value() { retu…