更新现有项目

时间:2014-03-05 21:59:36

标签: c# linq-to-sql windows-phone-8

在我的Windows Phone 8 C#/ XAML .NET 4.5应用程序中,我需要使用本地SQLite数据库。

由于我不是唯一一个做项目的人,因此数据库是由其他人创建的,我觉得编辑和/或搜索代码感觉不舒服。

我需要找到一种方法来更新数据库中的现有元素,但我没有看到任何更新方法。我已经通过它搜索并发现了一种方法,我只是不确定我是否正确地进行了操作(如果它能够正常工作)。

这是使用linq-2-sql更新数据库中项目的正确方法吗?

示例:

MyDoctorModel doctor... //existing doctor, contains properties like Name, Phone, doctorId (which is corresponding to the Id of doctor in database)
dbContext               //existing object of database, custom made, contains table object + additional methods
//I'm linq-2-sql and linq rookie, so I'm not sure if it's normal or not

//dbContext.DOCTOR is object of the table in the database, contains
//columns like Id(integer),NAME(string) etc...

var dbDoctor = dbContext.DOCTOR.Where(e => e.Id == doctor.DoctorId).First();
dbDoctor.NAME = doctor.Name;
....//etc, updating values for the actual ones

dbContext.SubmitChanges(); //and submiting changes

这是更新表格中现有项目的正确方法吗?

P.S:我知道这可能相当容易,这是一个基本的问题,但我找不到解释,这对我来说是令人满意的(简单到让我的头脑很容易理解)。

1 个答案:

答案 0 :(得分:1)

是的,这是正确的方法,您首先通过db context找到要更新的对象,然后更改它的某些属性,然后调用相同上下文的SubmitChanges