・データサービスの作成をする
・エンティティXXの非公開インスタンスをする
private TestEntities testEntities = new TestEntities();
・プロパティの作成をする
public DbSet<T_Student> T_Students //T_Studentsテーブル相当
{
get { return this.testEntities.T_Student; }
}
・エンティティ保存メソッドの作成をする
public void DbSaveChanges() //エンティティ保存
{
this.testEntities.SaveChanges();
}
・データ挿入メソッドの作成をする
public void AddStudent(string id, string name, string sex, int age, string pro)
{
T_Student student = new T_Student
{
stuId = id,
stuName = name,
stuSex = sex,
stuAge = age,
stuPro = pro
};
T_Students.Add(student);
DbSaveChanges();
}
・データ読み出しメソッドの作成をする
public ObservableCollection<T_Student> GetStudents()
{
ObservableCollection<T_Student> students = new ObservableCollection<T_Student>();
foreach (var item in T_Students)
{
T_Student student = new T_Student();
student.stuId = item.stuId;
student.stuName = item.stuName;
student.stuSex = item.stuSex;
student.stuAge = item.stuAge;
student.stuPro = item.stuPro;
students.Add(student);
}
return students;
}
・データ削除メソッドの作成をする
public void RemoveStudent()
{
T_Student student = new T_Student { stuName= "Test" };
//var student = T_Students.Single(x => x.stuName == "Test");
T_Students.Remove(student);
DbSaveChanges();
}
/// <summary>
/// データ削除する
/// </summary>
public void DeleteStudent(string id)
{
T_Student student = new T_Student { stuId = id };
T_Students.Attach(student);
testEntities.Entry(student).State = EntityState.Deleted;
DbSaveChanges();
}
・データ更新メソッドの作成をする
public void UpDateStudent()
{
T_Student student = new T_Student { stuName = "Test" };
//var student = T_Students.Single(x => x.stuName == "Test");
student.stuName = "NewTest";
DbSaveChanges();
}
public void ModifyStudent()
{
var student = new T_Student
{
};
T_Students.Attach(student);
//studentエンティティを取得、修正する
var setEntry = ((IObjectContextAdapter)testEntities).ObjectContext.ObjectStateManager.GetObjectStateEntry(student);
setEntry.SetModifiedProperty("stuId");
setEntry.SetModifiedProperty("stuName");
DbSaveChanges();
}
public void ModifyStudent1()
{
var student = new T_Student
{
};
T_Students.Attach(student);
testEntities.Entry(student).State = EntityState.Modified;
DbSaveChanges();
}