2011年6月28日火曜日

【Entity Framework】 Code First(コード・ファースト)で、同時実行制御(楽観的ロック)を行うには

【Entity Framework】 Code First(コード・ファースト)で、Not Null項目に設定するには

【Entity Framework】 Code First(コード・ファースト)で、主キーのIdentityをOFFに設定するには

【Entity Framework】 Code First(コード・ファースト)で、複合キーを設定するには

2011年6月26日日曜日

【Silverlight】Entity Framework + WCF RIA Servicesで、Code First(コード・ファースト)開発を行うには

◆ 事前準備
1. Entity Framework 4.1のインストール(NuGet)
  http://nuget.org/List/Packages/EntityFramework
2. RIAServices.EntityFramework のインストール(NuGet)
  http://nuget.org/List/Packages/RIAServices.EntityFramework

2011年6月24日金曜日

【LINQ】 部分一致検索(あいまい検索)を行うには

【LINQ】 文字列の大小比較を行うには

【LINQ】 検索条件がブランクの場合は全件取得、ブランク以外の場合は検索条件に一致したデータを取得するには

2011年6月22日水曜日

【Silverlight】 閉じるボタン付きのタブ(TabControl)を作成するには

2011年6月20日月曜日

【Silverlight】 数値のみ入力可能なTextBoxコントロールを作成するには

2011年6月19日日曜日

SQL Server Express EditionでSQLの実行トレースを行うには

1. プロファイルツール「SQL Server Express Profiler」をインストール
  http://code.google.com/p/sqlexpressprofiler/downloads/list

2. 「SqlExpressProfiler.exe」を実行し、プロファイルツールを起動

3. メニュー「File」→「New Trace」
4. 「General」タブ → DB接続情報を入力

5. 「Events」タブ → "SQLStmtCompleted" をチェック → 「Run」ボタン押下で実行
  ※ Eventの詳細は、MSDN を参照

F# 入門サイト一覧

自分用のメモ。

★.NET Framework で関数型プログラミング手法を使用する
http://msdn.microsoft.com/ja-jp/magazine/cc164244.aspx

★F #入門
http://winterradish.web.fc2.com/

★.NET 開発者向け新関数型言語 「F#」入門
http://japan.internet.com/developer/20081028/26.html

★F#で学ぶ関数型プログラミング入門
http://japan.internet.com/developer/20090120/26.html

★C#プログラマのためのF#入門
http://codezine.jp/article/corner/316

★F#入門→リニューアルしました
http://winterradish.web.fc2.com/output/01Introduction/2about.html

★F#による関数型プログラミング入門
http://lowlander256.web.fc2.com/fsharp/

★(hatena(diary ’Nobuhisa))
http://d.hatena.ne.jp/Nobuhisa/searchdiary?word=%2A%5BF%23%5D

★いげ太のブログ「F#.NET」
http://igeta.cocolog-nifty.com/blog/f_sharp/index.html

★neue cc - F#
http://neue.cc/category/programming/fsharp

★[F#] - かずきのBlog@Hatena
http://d.hatena.ne.jp/okazuki/searchdiary?word=%2A%5BF%23%5D

★F# 言語リファレンス
http://msdn.microsoft.com/ja-jp/library/dd233181.aspx

【Silverlight】 Enterキー押下時に、次のコントロールにフォーカスを移すには

2011年6月17日金曜日

【Silverlight】 指定の型のコントロール全てを非活性化するには

【Silverlight】 指定の型のコントロール一覧を取得するには

List textBoxList
    = (from v in this.GetVisualOfType()
        select v).ToList();
using System;
using System.Windows;
using System.Windows.Media;
using System.Collections.Generic;
using System.Windows.Controls;
using System.Linq;

namespace Extensions
{
    // DependencyObjectクラスの拡張メソッド
    public static class DependencyObjectExtensions
    {
        // 指定の型のコントロールを取得
        public static IEnumerable 
            GetVisualOfType(this DependencyObject obj)
        {
            return GetVisualTree(obj).Where(
                    element => element.GetType() == typeof(T)
                ).Cast();
        }

        // 子要素一覧を取得します。
        public static IEnumerable 
            GetVisualTree(this DependencyObject obj)
        {
            for (int i = 0; i < VisualTreeHelper.GetChildrenCount(obj); i++)
            {
                var child = VisualTreeHelper.GetChild(obj, i);
                yield return child;

                foreach (var children in GetVisualTree(child))
                {
                    yield return children;
                }
            }
        }
    }
}

【Silverlight】 全コントロール一覧を取得するには

IEnumerable objList
    = from v in this.GetVisualTree()
      select v;
using System;
using System.Windows;
using System.Windows.Media;
using System.Collections.Generic;
using System.Windows.Controls;
using System.Linq;

namespace Extensions
{
    // DependencyObjectクラスの拡張メソッド
    public static class DependencyObjectExtensions
    {
        // 子要素一覧を取得します。
        public static IEnumerable 
            GetVisualTree(this DependencyObject obj)
        {
            for (int i = 0; i < VisualTreeHelper.GetChildrenCount(obj); i++)
            {
                var child = VisualTreeHelper.GetChild(obj, i);
                yield return child;

                foreach (var children in GetVisualTree(child))
                {
                    yield return children;
                }
            }
        }
    }
}

2011年6月12日日曜日

Bing Map Controlで、Google Mapの地図データを使用するには

◆参考
Windows Phone 7でGoogle Map on Bing Map Controlを実現する
http://d.hatena.ne.jp/ch3cooh393/20101129/1291036733
との記事を発見したので、PC上のSilverlgihtでも試してみた。
 うーん、これは良い。
xmlns:mapCtrl=
     “clr-namespace:Microsoft.Maps.MapControl;assembly=Microsoft.Maps.MapControl”
 xmlns:gMapEx=“clr-namespace:BingMap”
 

     
         
             
                 
             
         
         
             
                 
            
         
     
 
using System;
using System.Windows;
using Microsoft.Maps.MapControl;
 
namespace BingMap
 {
     public enum GoogleTileSourceType
     {
         Street,
         Hybrid,
         Satellite,
         Physical,
         PhysicalHybrid,
         StreetOverlay,
         WaterOverlay
     }
 
    public class GoogleTileSource : TileSource
     {
         public GoogleTileSource()
         {
             UriFormat = @"http://mt{0}.google.com/vt/lyrs={1}&z={2}&x={3}&y={4}";
             TileSourceType = GoogleTileSourceType.Street;
         }
         private int _servernr;
         private char _mapMode;
 
        private int Server
         {
             get
             {
                 return _servernr = (_servernr + 1) % 4;
             }
         }
 
        private GoogleTileSourceType _tileSourceType;
         public GoogleTileSourceType TileSourceType
         {
             get { return _tileSourceType; }
             set
             {
                 _tileSourceType = value;
                 _mapMode = TypeToMapMode(value);
             }
         }
 
        public override Uri GetUri(int x, int y, int zoomLevel)
         {
             if (zoomLevel > 0)
             {
                 var url = string.Format(UriFormat, Server, _mapMode, zoomLevel, x, y);
                 //System.Diagnostics.Debug.WriteLine(url);
                 return new Uri(url);
             }
             return null;
         }
 
        private static char TypeToMapMode(GoogleTileSourceType tileSourceType)
         {
             switch (tileSourceType)
             {
                 case GoogleTileSourceType.Hybrid:
                     return 'y';
                 case GoogleTileSourceType.Satellite:
                     return 's';
                 case GoogleTileSourceType.Street:
                     return 'm';
                 case GoogleTileSourceType.Physical:
                     return 't';
                 case GoogleTileSourceType.PhysicalHybrid:
                     return 'p';
                 case GoogleTileSourceType.StreetOverlay:
                     return 'h';
                 case GoogleTileSourceType.WaterOverlay:
                     return 'r';
             } return ' ';
         }
     }
 }

【Bing Map】 日本地図を表示するには

◆事前準備
1. Bing Maps Silverlight Control SDK のインストール
  http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=2949

2. Bing Maps Key の取得
  https://www.bingmapsportal.com/
  (1)アカウントの作成「Create an account」
  (2)Bing Maps Key の取得「Create or view keys」
 

xmlns:map="clr-namespace:Microsoft.Maps.MapControl;
    assembly=Microsoft.Maps.MapControl"
 

// 日本経緯度を指定
Location center = new Location(35, 139);
// 拡大率の設定
BingMaps.SetView(center, 5);

【Silverlight】アウト オブ ブラウザ(Out of Browser)で新しいページに遷移するには

<HyperlinkButton
    x:Class="NewWindowsButton"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
>
public class NewWindowsButton : HyperlinkButton
{
    public NewWindowsButton(string navigateUri)
    {
        base.NavigateUri = new Uri(navigateUri);
        TargetName = "_blank";
    }

   public void Navigate()
    {
        base.OnClick();
    }
}
NewWindowsButton button 
    = new NewWindowsButton("http://keibalight.wordpress.com/");
button.Navigate();

2011年6月11日土曜日

【MVVM】 Bindingしたプロパティの値を変換するには

★参考サイト
   Q042. DataGrid のセルの値を書式設定したいのですが・・・
  http://d.hatena.ne.jp/hilapon/20110218/1298009605