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 )


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


 


Skip to main content