Microsoft MVPを受賞しました
超久しぶりのBlog投稿です。
実は職種が変わりまして、現在SharePoint関連の仕事をしているところで、余裕が全くなくなってしまい、Blogが完全に放置プレーとなってしまいました。
ただ、その前1年の活動が評価されたようで、2011年10月度のMVP受賞となりました。
カテゴリはData Platform Development(そんなカテゴリがあったんですねー)になりました。 どうやら日本人は私を含めて2名にいるようです。。。
それで、しばらくしたら、何やら届きました。
中を開けると、、、カードとバッヂ?
あと、賞状とオブジェでした。
たぶん今年1年で失効するんだろうなぁなどと思いつつ、、、
ちなみに、本日はMVP Open Dayだったのでちょっとだけ顔をだしました。
お弁当にもMVPと書いてありましたー(笑)
量多っ!
.NET4本執筆しました
以下から予約可能です。
.NET開発テクノロジー入門 Visual Studio 2010対応版 (MSDNプログラミングシリーズ)
まだだ! まだ終わらんよ!
テーマ : なんとなく書きたいこと。。
ジャンル : 日記
tag : お知らせ
Entity Frameworkの開発チームが色々やっているみたい
Entity Designer Improvements Preview
例えば、下図のような色分けとか。
個人的に、目を引いたのは下のスクリーンショット。
スカラプロパティの並び順の変更が出来るという機能の説明なのですが、コンテキストメニューに機能がいくつか追加されてるのが分かります(笑)
例えば、Enabled OData Supportとか、気になりますねー
(EDMの段階でWeb Friendly Feedの項目でも指定できるのでしょうか?)
まぁそれもいいですけど、他にも色々改善してほしい事がありますよね。
この辺で述べられていますが、将来的な機能について投票が可能になっています。
ちなみに僕は「Supported SQL Logging」に投票してみました。
テーマ : なんとなく書きたいこと。。
ジャンル : 日記
tag : EntityFramework
Tech Fielders セミナーに参加しました
10/1行われた、『 知ろう!学ぼう! ASP.NET MVC ~ 最新 Web 開発フレームワークの全体像 ~ 』に参加しました。講師は井上章さんでした。
転職後初めてのTFセミナー参加だったのですが、僕がやっていたころから少々変わっていて、時間が18:45スタートになっていました。参加しやすい時間帯で本当にありがたいです。
ちなみに、これまでTFセミナーが、なぜ13:00ぐらいからのスタートだったかと言うと、TFの活動は、MSの技術や製品をインフルエンスしてくれる人を探すこと大きな目的だったからです。(もちろん、それだけではありませんけどね)
そこで、懇親会やライトニングトークを交えた、複合的でインタラクティブなコミニュケーションの場を作っていたわけです。
現状がどうなっているのか?はもう僕にはわかりませんが、夜のセミナーなら、参加者も多く見込めますし、勉強する側からはうれしいです。(この日は、見たことのないぐらいの参加者人数でした。)
井上さんのMVCの話は、もう何回目だろう?と言うぐらい聞いているのですが、何度聞いてもわかりやすいですし、デモも綺麗でソツがないし、これが無料で聞けるというのは、井上さんありがとう!と言うしかないです(いや真面目にですよ)
IE9のVideoタグのデモも見れましたし、いつものEdtterも可愛かったです。もう完全に井上さんファンですねぇ。
自分的には、資料のAppendixの内容が聞きたくて、終了後、質問をしようと思ったら、井上さんに近づくこともできないぐらいQAの人だかりになっていました。やはり、この分野はみなさん仕事に直結していますし、そうなりますよね。
MVCは自分もあまりキャッチアップできていないので、これを機会に勉強しなければならないと危機感を感じましたよ。
ちなみに、TechFieldersセミナーは以下から登録できます。
http://www.microsoft.com/japan/powerpro/TF/seminar.mspx
そのうちLTなんかにも出てみようかな?と思ったり。
tag : 日記
EntityFramework:Model Firstのカスタマイズ
Model Firstで作成されるDDLスクリプトは 以下を使用して作成されます。
・T4 Template
・カスタムワークフロー
T4 TemplateはDDL スクリプトの元ネタになっていて、カスタムワークフローはCSDL⇒SSDL⇒MSL⇒DDL等の処理制御フローです。
これらのファイルの場所は、64bitOSの場合以下になります。
C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\Extensions\Microsoft\Entity Framework Tools\DBGen
そして、それぞれファイル名が、
T4 Template: SSDLToSQL10.tt
カスタムワークフロー: TablePerTypeStrategy.xaml
となります。
これらをカスタマイズすることで、生成されるDDLスクリプトに対して細かい制御を行うことが可能です。例えば、timestamp型を使用して楽観同時実行制御をおこないたい場合、そのままではできませんので、T4 Templateの中を修正する形になります。
以下にその手順を紹介します。
まず、EDMの該当するエンティティクラスにスカラプロパティを追加します。
以下のようなプロパティをセットしておきます。
型:Binary
同時実行モード:Fixed
Null許容:False
StoreGeneratedPattern:Computed
次にテンプレートファイル(SSDLToSQL10.tt)を修正するのですが、直接するのは抵抗があるので、適当な名前でコピーして、そのファイルを編集しましょう。
151行目付近の以下の記述を修正します。
[<#=Id(prop.Name)#>] <#=prop.ToStoreType()#> <#=WriteIdentity(prop, targetVersion)#> <#=WriteNullable(prop.Nullable)#><#=(p < entitySet.ElementType.Properties.Count - 1) ? "," : ""#> |
↓
[<#=Id(prop.Name)#>] <#if (string.Compare(prop.Name,"TimeStamp",true) == 0) { #>timestamp<# } else { #><#=prop.ToStoreType()#><# } #> <#=WriteIdentity(prop, targetVersion)#> <#=WriteNullable(prop.Nullable)#><#=(p < entitySet.ElementType.Properties.Count - 1) ? "," : ""#> |
後は、EDMのプロパティを編集するだけです。
DDL生成テンプレートをコピーしたファイルにして・・・(下図のファイル名はやる気が感じられませんね(笑))
最後に、EDMデザイナ上で右クリックして、[モデルからデータベースを生成]を行うと、めでたくtimestamp型のフィールドができているはずです。
所詮T4 Templateなので、ガッツリ弄ってしまって、その時のプロジェクトの状況に合わせてしまうのがいいでしょうね。
tag : EntityFramework