2012-09-22 43 views
0

在我的ASP.NET MVC3应用程序(C#,SQL Server)ProductImagePath作为字符串类型。当我保存图像时,我想将产品的ID值设为ImagePath。当我创建新的产品,我不知道会是什么当前产品的IDdb.SaveChanges();如何在保存之前提前知道当前新对象的ID?

public ActionResult Create(Product product) 
    { 
     ..... 
     .....//How to know ID of this product in advance? 
     ..... 
     db.Products.AddObject(product); 
     db.SaveChanges(); 
    } 

我能找到的产品最后一个项目,并增加它:

currentID = lastID + 1; 

但是,也许是最后一次ID已删除。结果不正确的..

回答

3

我建议以下方法:

//don't save the image yet, or save it in a temporary location 
db.Products.AddObject(product); 
db.SaveChanges(); 
product.ImagePath = //path including product.Id 
//save or move image to product.ImagePath 
db.SaveChanges(); 
1

我不能这样做,你会怎么做,如果两个用户同时尝试建立产品?添加图像,然后设置与产品的关系。

+0

产品最多可以有5张图片。并且在每一天产品的图像保存到相同的文件夹。明天,到其他文件夹。客户希望观看该文件夹并删除他想要的任何图像。他希望我设置产品和图像之间的关系 –

+0

@Mores或者,您可以使用ajax发送数据,接收身份证并提供图像上传功能。 – webdeveloper