Tech Days フォローアップ(その4)

 今日は Tech Days のフォローアップです。

DML 操作、プロシージャ についてお知らせします。

 

 

検索処理

3種類の問い合わせ処理についてお話をしました。

  このあたりの使い分けについてはMSDNの記事ナオキさんの記事 を参考にしてください。

 

  Tech days ではシンプルな実装 ( LINQ to Entities ) を紹介しました。

  テキストボックスに入力した keyword をもとにフィルタリングして Grid に表示するプログラムのサンプルです。

  内部的には Products テーブルと DrinkDetails テーブルをジョインして検索処理を行います。

 

String key = textBox1.Text;

IQueryable<DrinkProduct> dp;

dp = context.DrinkProducts;

if (!String.IsNullOrEmpty(key))

{

  dp = drinkproducts.Where(t => t.ProductName.Contains(key));

}

dataGridView1.DataSource = dp;

 

ご参考:LINQ to Entities

ご参考:Entity SQL

 

 

 

追加

追加処理は BEC をインスタンス化して Add メソッドを呼び出します。

  内部的には Products テーブルと DrinkDetails テーブルに対して追加処理を行います。更新や削除も同様です。

 

DrinkProduct drinkproduct = r.DataBoundItem as DrinkProduct ;

context.AddToDrinkProducts( dp );

MessageBox.Show(" 追加に成功しました。", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information);

 

 

削除

DrinkProduct drinkproduct = r.DataBoundItem as DrinkProduct;

context.DeleteObject( dp );

 

更新

DrinkProduct dp = r.DataBoundItem as DrinkProduct ;

DrinkProduct udp = context.DrinkProducts.Where(d => d.ProductID.Equals(dp.ProductID)).First();

udp.ProductName = dp.ProductName;

udp.UnitPrice = dp.UnitPrice;

udp.Size = dp.Size;

udp.Picture = dp.Picture;

 

ご参考:オブジェクトを追加、変更、および削除する方法 ( Entity Framework )

次回はストアドプロシージャのご説明をします。