↑普通にバインドされてる様子。このままステップ実行すると、確かに例外が発生。含まない場合にのみ、元の状態なしに変更したものをアタッチできます。{System.InvalidOperationException}と、言うことで、簡単に更新チェックポリシーをオフにしてしまおうかとも思ったけど、それよりちゃんと競合チェックするようにtimestamp型の列をテーブルに追加して動かしてみます。↑ChangeStampという名前のtimestamp型の列を追加したモデル。timestamp型はSystem.Data.Linq.Binary型としてクラスが生成されるので、このままだとちゃんとモデルが復元されません。なによりViewにちゃんと出力してないし。EditのViewにChangeStampをhiddenで展開するコードを追加。</div></asp:Content>submitの手前に入れてます。Base64エンコードしてHiddenフィールドに。Futuresに入ってるLinqBinaryModelBinderを登録。}もう、何もかもステファンさんのいいなりです。この状態で動かしてみて、Viewが出力するHTMLソースのChangeStamp部分を確認してみたのが↓これ。/>ちゃんと、エンコードされて出力されてます。あたりまえだっちゅーの。これを更新するためにsubmitして、ブレークポイントでモデルの中身を確認。LinqBinaryModelBinderでBinary型も復元されてます。そのまま実行を続けても例外は出なくて、テーブルも更新されてました。更新された後のViewのCangeStampを確認してみる。/>ちゃんと、最初とは違う値が入ってますね~。SQL+スキャッフォールディングで凄く簡単にDBを使ったアプリケーションを作成出来る事になりますね。Repositoryは作るにしても、ViewModelを作らずシンプルなコードで開発することが出来るのでWebForms並の生産性(ViewStateとデータバインディング)を実現できてるんじゃないかと思う次第です。※ViewStateはModelStateが各inputフィールドの値を保持しつつHTMLにレンダリングしてくれたりするので。Prettifyを導入してみる。Codeここからコードをダウンロードできるんだけど、はて、このJSファイルとCSSファイルはどこにアップロードするんでしょうね。/trunk/src)から直接貼り付けちゃった。Writer用のプラグインを開発する:CodeZine」。おっと、いきなりプラグイン開発ですか?そうですか。それもやむなしですね。どれどれ、記事を読んでみると大して難しいことしなくてもこの程度のことならサクッと作れそう。preで囲むだけだし。SmartContentSourceじゃなくてContentSourceで作れるじゃんね。作ったDLLをPluginフォルダに入れとけばイイみたいだし。思ってちなみに同じ事考えてる人いるんじゃないかと思って、改めて検索し直してみたら板いた。Vistaのサイドバーガジェットの時の無駄作業を思い出して良かった。あのときも同じようなの作ってる人いたもんね。調べないで作っちゃって損した気分になったし。Homeコード見たらビックリだね。こんなに潔いプラグインも珍しい。いや、だって、自分でもきっとこう書く。Connectを使ってるの思い出した。Bloggerもサポートしてるよ!と豪語してるだけあって、設置方法もスクリーンショットでテンプレート編集箇所を書いてあったりして、親切だ。だいたい、書いてあるとおりにやってみたけどダメだった。Bloggerのテンプレートがどうなってる(構造が)のか調べるのも面倒だしな~。このブログに適用してるブログにはそもそもインストール手順に書いてるような項目もないし。インストール手順がデフォルトテンプレートを基準にするのは、そりゃあたりまえだしね。違うデザインのテンプレートを使ってるんだから致し方なし。いって、諦めるのはダンディじゃない。