EF 6 - Add/update 记录在 table 编码模式中
EF 6 - Add/update record in table coding pattern
我已将以下代码写入 Add If does not exist
或 Update if exist
学生记录中 table。
我正在使用 Entity Framework 6.1.1
版本。
它对我有用,但我觉得它是非常基础的代码。
请问有什么更好的方法可以重写吗?
代码:
public void Update(Student student)
{
Student student = _context.Student.Find(studentId);
Student orignal = new Student { Id = student.Id, RollNumber = student.RollNumber, StudentType = student.StudentType, Class = student.Class};
using (var context = new DBContext())
{
if (student != null)
{
context.Entry(orignal).State = EntityState.Modified;
context.SaveChanges();
}
else {
context.Student.Add(orignal);
context.SaveChanges();
}
}
}
命名空间 System.Data.Entity.Migrations 中有 AddOrUpdate
方法。
public void AddOrUpdate(Student student)
{
using (var context = new DBContext())
{
context.Student.AddOrUpdate(student);
context.SaveChanges();
}
}
我已将以下代码写入 Add If does not exist
或 Update if exist
学生记录中 table。
我正在使用 Entity Framework 6.1.1
版本。
它对我有用,但我觉得它是非常基础的代码。 请问有什么更好的方法可以重写吗?
代码:
public void Update(Student student)
{
Student student = _context.Student.Find(studentId);
Student orignal = new Student { Id = student.Id, RollNumber = student.RollNumber, StudentType = student.StudentType, Class = student.Class};
using (var context = new DBContext())
{
if (student != null)
{
context.Entry(orignal).State = EntityState.Modified;
context.SaveChanges();
}
else {
context.Student.Add(orignal);
context.SaveChanges();
}
}
}
命名空间 System.Data.Entity.Migrations 中有 AddOrUpdate
方法。
public void AddOrUpdate(Student student)
{
using (var context = new DBContext())
{
context.Student.AddOrUpdate(student);
context.SaveChanges();
}
}