我不知道这段代码有什么问题,这段代码编译成功,但没有更新数据库。我错过了什么吗?
DataClassesDataContext db = new DataClassesDataContext();
var query = from p in db.AllPatiences
select p;
int newID = 1001;
foreach (AllPatience patient in query)
{
patient.Id = newID.ToString();
newID++;
}
db.SubmitChanges();发布于 2010-08-01 12:27:21
我发现了问题,对于这样的更新,有必要有主键。我的表没有主键的原因是:我从Excel文件导入了这些数据,所以我没有主键。
发布于 2010-07-25 17:41:58
我的猜测是,您在项目中使用基于文件的数据库(.mdf),并且尝试查看该数据库中的表数据。在生成项目时,数据库将被克隆到bin/debug/或bin/release/目录中,运行中的程序将在该目录中访问该数据库。如果您查看此版本的文件,而不是已加载到VS项目中的文件,您应该会看到更改。
如果是这种情况,您应该将数据库文件属性设置为"Copy only If newer“或"Do not copy",以避免每次构建时都克隆数据库。
发布于 2010-07-27 16:20:06
patient.Id是在数据库本身中生成的吗?可能作为SQL标识字段?另外,检查dbml文件中字段的SyncOn属性。
https://stackoverflow.com/questions/3328621
复制相似问题