AppProfessionals.ru: мобильные приложения без границ
На этой неделе на Windows Phone Camp был запущен новый портал AppProfessionals.ru — инструмент для выбора надежного партнера по разработке приложений.
На этой неделе на Windows Phone Camp был запущен новый портал AppProfessionals.ru — инструмент для выбора надежного партнера по разработке приложений.
Often user presses hardware back button while inside an application. This would send the existing application to the background and let other be on top
A step by step guidance http://blogs.technet.com/b/gmarchetti/archive/2011/03/12/put-a-vm-on-azure.aspx Namoskar!!!
ほとんどどんなアプリケーションにもデータアクセス (データベースとの接続) は必要になってくるわけで、実は非常に関わっている方の多いデータ アクセス開発ですが、昨年末に データ アクセス デベロッパーセンター のリニューアルを行ったのをスタートに、現在コンテンツを拡充中です。 その一環で 2月初旬には、 データ アクセス開発自習書 を公開しています。 ”第 1 部 データベースおよびデータ アクセス テクノロジの変遷と恩恵” では、DAO、ODBC、ADO といったアンマネージドから、ADO.NET、LINQ、ADO.NET Entity Framework といったマネージドへの変遷がわかりやすく解説されています。第 2 部からはより実践的な内容になります。 こちらのコンテンツのレビューは、エバンジェリスト 井上 (@ daisukei777 ) が担当しています。データアクセス関連の情報をお探しの方は、 井上のブログ もあわせてチェックしてみてください。 また、ブログ と言えば、最近 SQL Server のサポートチームが ブログ を始めたようです。このチームは、SQL Server…( read more )
Introduction In December we released ADO.NET Entity Framework Feature Community Technology Preview 5 (CTP5).
Entity Framework Code Firstの最新のCTP5 がリリースされています。 機能的には、これで大分出揃ったという感じでしょう。 これが最後のCTPになるようです。また、2011年1月~3月くらいにはリリース予定です。 英語では既に様々な機能を紹介したPostがあるので参考にしてください。このBlogでもご紹介する予定です。 Model & Database First with DbContext Code First Walkthrough Code First Fluent API Samples Looking at EF4 CTP5 in Parts: Part 1 – A New T4 Template Looking at EF4 CTP5 in Parts: Part 2–Internal Validation Looking at EF4 CTP5 in Parts: Part 3–Easy Access to In-Memory Entities Looking at EF4 CTP5 in Parts: Part 3–Easy Access to In-Memory Entities ちなみに変更点は ・アセンブリ名が変更になりました。 Microsoft.Data.Entity.CTP.dll –> EntityFramework.dll ・既存DBをコードファーストで利用する時(正確にはDBファースト)Database InitializerをOFFにする必要がなくなった。 ・以前は勝手に生成されていたEdmMetadata Table だが、作成されなくなった。 ・DbContextのメンバーにprotected ObjectContextが含まれていたが含まれなくなった。IObjectContextAdapterを使ってObjectContextを取得できる。 ・クラス名が変更 CTP4 Name CTP5 Name Database System.Data.Entity.Database.DbDatabase RecreateDatabaseIfModelChanges System.Data.Entity.Database.DropCreateDatabaseIfModelChanges AlwaysRecreateDatabase System.Data.Entity.Database.DropCreateDatabaseAlways CreateDatabaseIfNotExists System.Data.Entity.Database.CreateDatabaseIfNotExists SqlConnectionFactory System.Data.Entity.Database.SqlConnectionFactory SqlCeConnectionFactory System.Data.Entity.Database.SqlCeConnectionFactory 追加機能は DbContext ・モデルファースト、DBファーストからDbContextの利用 ・アノテーションをベースとした保存時のバリデーション ・Change Tracker API 変更管理が可能になります。 ・No-Tracking クエリのサポート ・WPFやWinFormのデータバインディング強化 ・遅延ロードのサポート ・DbContext.DatabaseのSqlQuery、SqlCommandを使うと、ネイティブT-SQLの実行が可能 ・同時実行制御におけるエラー制御の改善 Code First ・フルでアノテーションをサポート KeyAttribute StringLengthAttribute MaxLengthAttribute ConcurrencyCheckAttribute RequiredAttribute TimestampAttribute ComplexTypeAttribute ColumnAttribute TableAttribute InversePropertyAttribute ForeignKeyAttribute DatabaseGeneratedAttribute NotMappedAttribute ・流れるようなAPI の改善 コードがすっきり。 テーブルとカラムマッピングの単純化 クラスとプロパティを無視する機能 ・Pluggable Conventions 詳細はまた次回
We have been working on new tutorials intended to introduce ASP.NET developers to the Entity Framework. The first series, Getting Started with the Entity Framework and ASP.NET , has been published on the ASP.NET site
一先ずセミナーや執筆など諸々終わったので一安心・・・・と思ったのもつかの間、残していた事務作業がテンコ盛りの今日この頃です。まぁ、見ないことにして Blog を Update したいと思います。 今日は遅延ロードと Native SQL を扱います。次回は POCO と Self-Tracking Entities を予定しています。 遅延ロード(レイジーロード) 必要になったタイミングで暗黙的にデータを取得する機能ですね。 下記のコード例では6行目の CourseGrades を取得するタイミングで毎回、クエリが発行されます。 (尚、デフォルトで遅延ロードは true になっています。要するに ON 。) このコードでは People の件数と同じだけ CourseGrades を取得するためのクエリが発行されます。 6名のデータが存在すれば、CourseGrades を取得するために 6 回クエリが発行されることになります。 よって、開発者は CourseGrade データのロードを意識しないでよいため楽ちんですが、ラウンドトリップ回数はパフォーマンスに悪影響を与える可能性があるため意識する必要があります。 // デフォルトは true です。 db.ContextOptions.LazyLoadingEnabled = true; var people = db.People; foreach (var p in people) { Console.WriteLine(p.Name); foreach (var cg in p.CourseGrades) { Console.WriteLine(" " + cg.CourseName + " : " + cg.Grade); } } 次のように修正してやると一発でデータを取得できます。 var people = db.People.Include("CourseGrades"); もともと遅延ロードについては こちらの記事 にもある通り、次の理由により敢えて実装されていなかったという背景があります。 ・隠されたネットワーク ラウンドトリップは排除すべき ・ロードされるタイミングが異なるためデータ一貫性に問題が発生する可能性がある とはいえ、次のようなメリットがあり「遅延ロードが欲しい!!」というフィードバックが多数寄せられ、EF 4 では実装されることになりました。 ・明示的にロードを意識しなくてよいので楽ちん ・コードが冗長にならない 無闇矢鱈に利用するのでなく、このあたりのメリット、デメリットを理解した上で是非利用してみてください。 以前の記事 もご参考まで。 Native SQL こちらはシンプルにNativeのSQL文が実行できるようになったという機能です。 今のところ、この機能が一番評判がいいような気がするので若干微妙ですが・・・・・・ 本セッションでは対象にしませんでしたが、EF 4 では生成されるクエリの大幅なパフォーマンスチューングが施されており、V1 と比較すると速度の向上が見込めると思います。 しかしながら、システムのある個所だけどうしてもパフォーマンスがでないケース、どうしてもデータベース固有のコマンドが利用したいケース等々あると思います。そのような時に威力を発揮するのがこの Native SQL の機能です。 構文とサンプルソースを以下に示します。 構文 C# public ObjectResult<TElement> ExecuteStoreQuery<TElement>( string commandText, params Object[] parameters ) C# public int ExecuteStoreCommand( string commandText, params Object[] parameters ) サンプル(C#) ・ ExecuteStoreQuery using (schooldbEntities db = new schooldbEntities()) { string name = "井上 大輔"; IEnumerable<Person> schools = db.ExecuteStoreQuery<Person>("SELECT * FROM People where name = {0}", name); foreach (var s in schools) { Console.WriteLine(s.Name); } } ・ ExecuteStoreCommand string name = "井上 章"; int pid = 3; int count = db.ExecuteStoreCommand("Update People set name = {0} Where PersonId = {1}", name, pid); 以前の記事 もご参考まで。
Visual Studio 2010 RC は Beta 2 と比べるとホント快適ですね。 ここまで改善されるとは・・・・感動です。 本日は Tech・days でお話した最初のテーマである「デザイナ」についてフォローアップします。 複数化、外部キー EDM Wizard でDBオブジェクトを取り込むとき、下図のように2つのチェックボックスが追加されました。 上のチェックボックスが複数化、下のチェックボックスが外部キーです。 複数化は Entity を単数形、EntitySetを複数形に変換してくる機能です。 (元になるDBのオブジェクト名は単数形だろうが、複数形だろうが関係ありません) また「外部キー」は、Entityのスカラプロパティとして外部キーが扱えるようになったという機能です。 どちらも細かい変更点ですが、実際に実装していくと意外と便利だったりします。 また、デザイナのプロパティから、下図のパラメーターを Trueに設定すれば、新しく作成するEntityに対して複数化の機能を有効にすることが可能です。 他にもデザイナで新たにAssocitionを追加する時、外部キーを追加する機能が搭載されました。 ちなみに、セミナーでは pubs サンプルDB を用いて次のような EDM を生成しました。 モデルファースト、複合化 モデルファーストは概念モデル(CSDL)から、論理モデル(LDM)やマッピング(MSL)を生成する機能でした。 手順はCSDLをご自身で定義して、コンテクストメニューから新たに追加された次のコマンドを実行するだけです。 ポイントはここだけですね。 尚、EDMの構成は SchoolサンプルDB のデータ構造を元に構成しています。 複合型はモデルブラウザーからプロパティを一つずつ定義していく方法があります。 また、複数のプロパティを選択して、まとめて複合型として定義することも可能です。 WPF連携 GUI ベースで WPF データバインドが出来る機能です。 Data Sources ウィンドウに表示されるエンティティセットやプロパティをドラッグして画面を構成するだけです。 データソースウィンドウが開いてないならメニューから選択して開いてください。 以上で、デザイナ編は終了です。 次回は関数編です。
Kort framförhållning så här i sportlovstider – men om du har chansen så kom förbi på ett kvällsevenemang där vi bjuder på Silverlight 4 och SketchFlow samt någon att äta, tisdagen den 2:a mars. Evenemanget börjar klockan 17.00 och kommer att hålla på fram till 20-tiden, vi bjuder på lite mat och dryck och naturligtvis möjligheten att ta en dialog och ställa frågor oss från Microsoft. Jag kommer att presentera Silverlight 4 och Danwei Tran kommer att demonstrera SketchFlow som kan användas för interaktiva prototyper
04-05 февраля компания ScrumTrek – пионеры в области Agile и Scrum снова в Екатеринбурге ! ScrumTrek совместно с компанией СКБ-Контур, при поддержке компании Microsoft проводят тренинги «Гибкие методологии в разработке ПО» и «Test Driven Development» на основе системы TFS. Самыми большими рисками в разработке ПО являются: изменение требований в ходе проекта, неопределенность в разработке, архитектурные риски, ошибки в оценке проектов, неожиданные доработки
Working with Array in VB.NET 2010 (VS 2010) is real fun. You can leave it to the compiler to leave it what to do