2011-03-21 86 views
0

我想通过一个类来更新我的模型,并在ASP.Net不是一个形式MVC 2ASP.NET MVC 2更新问题

[AcceptVerbs(HttpVerbs.Post)] 
public ActionResult Index(string wo_number) 
{ 
    WorkOrder wo = GetWorkOrder(wo_number); 
    UpdateModel(wo); 
    camprintRepository.Save(); 
    return RedirectToAction("Details", new { wo_number = wo_number }); 
} 

我从外部源提取的信息,我想它更新我的应用程序数据库中的实体。

public WorkOrder GetWorkOrder (string wo_number) 
{ 
    UniFile uFile = uSession.CreateUniFile("WO"); 
    uFile.RecordID = wo_number; 

    WO wo = new WO(); 

    wo.wo_id = wo_number; 
    wo.sales_product_code = uFile.ReadNamedField("Sales_Code").ToString(); 
    wo.description = uFile.ReadNamedField("P_Desc").ToString(); 
    wo.part_number = uFile.ReadNamedField("Desc").ToString(); 
    wo.work_order_quantity = uFile.ReadNamedField("Qty_To_Mfg").ToString(); 
    wo.sales_order_quantity = uFile.ReadNamedField("Sod_Qty").ToString(); 

    GetWorkOrderOper(wo); 


} 

我正在使用LINQ to SQL,正如您所看到的,有些子对象从每个工作顺序分支出来。

public void GetWorkOrderOper(WorkOrder wo) 
{ 
    UniFile uFile = uSession.CreateUniFile("WPO"); 

    string key = wo.wo_id + "*" + wo.first_routing_sequence; 

    while(key != wo.wo_id + "*") 
    { 
     uFile.RecordID = key; 
     WPO wpo = new WPO(); 
     wpo.wpo_id = key; 
     wpo.next_sequence_number = uFile.ReadNamedField("Next_Seq").ToString(); 
     wpo.run_hours = uFile.ReadNamedField("Plan_Run_Lbr_Time").ToString(); 
     key = wo.wo_id + "*" + wpo.next_sequence_number; 
     wo.WPOs.Add(wpo); 

    } 
} 

这不是更新模型,我不知道为什么。任何帮助将不胜感激

回答

0

似乎没有SubmitChanges?或者在你的UpdateModel中?

另一个原因可能是您的基础表中没有主键

+0

错过了该部分的问题,但是我有。 – jasonbryan 2011-03-21 15:19:38

+0

表中指定的主键为wo_id – jasonbryan 2011-03-21 15:22:00

+0

您在哪里执行WO的InsertOnSubmit?因为您将wpo添加到您的窝里,但原始的WO不会发送到datacontext – Pleun 2011-03-21 15:22:12