asp.net mvc创建数据库记录

问题描述:

所以,我一直在试图创建一个记录,但是我成功创建了它,但问题是我可能需要自动增加的ID。asp.net mvc创建数据库记录

[AcceptVerbs(HttpVerbs.Post)] 

public ActionResult Create([Bind(Exclude="CustomerServiceMappingID")] Maping serviceToCreate, FormCollection form) 
    { 


     if (!ModelState.IsValid) 

       return View(); 

     var dc = new ServicesDataContext(); 
     dc.Mapings.InsertOnSubmit(serviceToCreate); 
     try 
     { 
      dc.SubmitChanges(); 
     } 
     catch (Exception e) 
     { 

     } 

在此之后,我试着做这里面一直没有工作

var id = Int32.Parse(form["CustomerServiceMappingID"]); 
     var qw = (from m in dc.Mapings 
        where id == m.CustomerServiceMappingID 
        select m.CustomerID).First(); 
     // var id = Int32.Parse(form["CustomerID"]); 
     return RedirectToAction("Index", new { id = qw }); 

现在我需要向客户发送ID作为一个参数指标..因此,u能帮助我..

感谢,

+0

执行'db.SubmitChanges()'后,将设置'serviceToCreate.Id'。当然,除非发生错误,否则你将永远不会知道,因为你吞下了它。 – RPM1984 2011-06-10 03:42:37

我会改写为(不排除从参数列表中的ID - 特定的原因,这需要排除?):

 

[HttpPost] 
public ActionResult Create(Maping serviceToCreate) 
{ 
     if (!ModelState.IsValid) 
     { 
       return View(); 
     } 

     var dc = new ServicesDataContext(); 
     dc.Mapings.InsertOnSubmit(serviceToCreate); 
     dc.SubmitChanges(); 

     //try to get the values from 'Maping' model if possible? 
     var qw = (from m in dc.Mapings 
        where m.CustomerServiceMappingID == serviceToCreate.CustomerServiceMappingId 
        select m.CustomerID).First(); 
     return RedirectToAction("Index", new { id = qw });