2013-02-06 93 views
2

在WCF中使用LINQ to SQL我有一個更新記錄方法,我手動分配每個更新的屬性。例如,您可以使用LINQ to SQL實體更新數據庫嗎?

public void UpdateMachineRecord(Guid SessionID, int MachineRecordID, MachineRecord machineRecord) 
{ 
    if (!ValidSession(SessionID)) 
     return; 

    using (MMHLINQSQLDataContext database = new MMHLINQSQLDataContext()) 
    { 
     MachineRecord record = database.MachineRecords.Single(mr => mr.Job.OperationID == MachineRecordID); 
     record.ChangedBy = UserSession(SessionID).Name; 
     record.ChangedDate = DateTime.Now.ToString(); 
     record.Date = machineRecord.Date; 
     record.EDI = machineRecord.EDI; 
     ... 
     database.SubmitChanges(); 
    } 
} 

我的問題是:有沒有辦法使用整個實體更新記錄?

例如,

public void UpdateMachineRecord(Guid SessionID, int MachineRecordID, MachineRecord machineRecord) 
{ 
    if (!ValidSession(SessionID)) 
     return; 

    using (MMHLINQSQLDataContext database = new MMHLINQSQLDataContext()) 
    { 
     MachineRecord record = database.MachineRecords.Single(mr => mr.Job.OperationID == MachineRecordID); 
     record = machineRecord; 
     database.SubmitChanges(); 
    } 
} 
+0

這是LINQ to SQL中,或LINQ到實體? –

+0

這是Linq到SQL – Anthbs

回答

3

你可以這樣做。

database.MachineRecords.Attach(machineRecord, true); 
database.SubmitChanges(); 

這將附上它作爲一個修改的實體(這就是布爾參數是什麼)

+0

謝謝:)我究竟是在 – Anthbs

+0

@Anthbs之後很高興它適合你:) – scartag

相關問題