‘LINQ’ カテゴリーのアーカイブ

LINQ to SQLをSQL Server Compact Editionで使用するには

2009年10月14日 水曜日

Visual Studio 2008のObject Relational Designerは「SQL Server CompactEdition」をサポートしていないため、DataContextクラスをドラッグアンドドロップで作成しようとしても「選択されたオブジェクトにはサポート外のデータプロバイダが使用されています。」というエラーが表示されてしまう。

dbmlファイルを作成するにはVisual Studio 2008コマンドプロンプトを利用して下記のコマンドを実行する。

sqlmetal /dbml:Northwind.dbml Northwind.sdf

その後Visual Studioのプロジェクトファイルに取り込む。

LINQ to SQLでIDENTITY列のある表にInsertした場合

2008年6月1日 日曜日

LINQ to SQLでIDENTITY列のある表にInsertした場合、SubmitChanges()後に挿入したオブジェクトに自動的に発番したIDを入れてくれるようである。

NorthwindデータベースでCategoryIDがIdentity列であるCategoryテーブルに対して、下記LINQのコードを実行したところ

using (DataClasses1DataContext db = new DataClasses1DataContext())
{
    Categories cat = new Categories(){CategoryName = “test”};
    db.Categories.InsertOnSubmit(cat);
    db.SubmitChanges();
    var id = cat.CategoryID;
}

最後のcat.CategoryIDには自動発番されたIDが取得できていた。

LinqDataSourceコントロールのイベントの発生する順番

2008年5月27日 火曜日

MSDNライブラリから抜粋。

選択の場合
  1. Selecting
  2. ContextCreating (必要な場合)
  3. ContextCreated (必要な場合)
  4. Selected
  5. ContextDisposing

Selecting イベントでコンテキスト オブジェクトをプログラムによって作成した場合、元の値をビューステートに格納する必要がないときは、ContextCreating イベントおよび ContextCreated イベントはスキップされる。

データの更新、挿入、削除の場合
  1. ContextCreating
  2. ContextCreated
  3. Inserting、Updating、または Deleting
  4. Inserted、Updated、または Deleted
  5. ContextDisposing