这是对象Image
[Key]
public int Id { get; set; } //primary key
public string Path { get; set; } //not null
public string Name { get; set; } //not null
public string Url { get; set; } //allows null
public string SecureUrl { get; set; } //allows null
EFDbImageRepository
public void UploadToCloud(Image image)
{
System.Diagnostics.Debug.WriteLine(image.Id);
if(image.Id == 0)
{
context.Images.Add(image);
}
context.SaveChanges();
}
在UploadImage操作中的控制器
...
Image image = new Image();
image.init(path, "defaultName1", "type");
imageRepository.UploadToCloud(image);
...
在SaveChanges的那一刻,我有例外:EntityFramework.dll中的System.Data.Entity.Infrastructure.DbUpdateConcurrencyException
此外,我发现此消息:Entity of type Image in state Added could not be updated
据我所知,当两个用户试图同时修改一个数据时,会出现并发错误。在我的MVC项目用户加载文件的窗体。表单向控制器发送post请求,将图像保存到服务器和数据库。我在localhost运行应用程序,只有我可以加载图像。我还没有添加任何记录。
如何使用Entity Framework向数据库添加记录?