データ追加・挿入(INSERT)
* InsertOnSubmit()メソッドおよびSubmitChanges()を使用する
* InsertOnSubmit()を実行しただけではデータベースに反映されず、
SubmitChanges()を呼び出した時点で反映される(遅延実行?)
* 複数の行をまとめて挿入したい場合には、InsertAllOnSubmitメソッドを使用する
手順
データベースのデータを追加・挿入するには、以下の手順を踏む
1. 送信する列データを含む新しいオブジェクトを作成
2. InsertOnSubmit()メソッドを使用して、手順1で作成した新しいオブジェクトを追加
3 .SubmitChanges()を使用して、データベースに変更内容を送信
サンプル
下準備
以下の例については、
http://blogs.yahoo.co.jp/dk521123/16895242.html
を前もって行っています。
private void button1_Click(object sender, EventArgs e)
{
string result = string.Empty;
using(DataClasses1DataContext context = new DataClasses1DataContext())
{
long id = context.Person.Max(a => a.PersonId) + 1;
Person p1 = new Person();
p1.PersonId = id;
p1.Name = "Paul";
p1.BirthDate = "1989/02/01";
p1.AdministrativeSex = "male";
// データ追加
context.Person.InsertOnSubmit(p1);
context.SubmitChanges();
// データ取得(追加したデータをみたいので)
var dataList = context.Person
.Where(a => a.PersonId == id && a.Name == "Paul")
.Select(a => a);
foreach(var data in dataList)
{
// データをクラスに詰め替える
result += data.PersonId;
result += " " + data.Name;
result += " " + data.BirthDate;
result += " " + data.AdministrativeSex;
}
}
label1.Text = result;
}