2012-02-17 19 views
0

我在Silverlight中有一個訂單輸入系統。我有兩個表 - 訂單和OrderItems。 Orders表中的OrderNo字段是自動增量的,但OrderItems表中的OrderNo字段不是。Silverlight生成OrderNo?

我需要的是每當客戶提交訂單時,orderitem表的orderno也應該填充orders order orderno。

我現在所做的是在訂單表中添加一條新記錄並獲取遞增的值並將其用於orderitem記錄。但是,我不想這樣做,我需要這些值在訂單表更新時同時生成。

+0

是那些表數據庫表?在這種情況下如何訪問數據庫? – 2012-02-17 17:44:34

+0

是的,這些是數據庫tables.i使用WCF。 – sony 2012-02-17 17:46:27

+0

WCF不是數據庫訪問技術。 ADO.NET,EntityFramework,LINQ2SQL等。 – 2012-02-17 17:47:31

回答

1

將插入語句包裝在事務中。你仍然會使用你已經擁有的相同的邏輯(獨立地更新表),但是由於你將它們包裝在同一個事務中,它將從數據庫的角度來看是一個原子操作。因此,如果出現問題並且必須回滾,它將回滾這兩個插入,並且在整個事務提交之前,沒有人能夠觀察插入順序。

編輯

如果你已經在使用實體框架,那麼它是你想要一個事務範圍。當您處於這種狀態時,我會建議您認真對待Silverlight的WCF RIA Services。這是一個非常好的數據庫服務框架。

第二編輯 這裏有RIA Services的視頻:http://channel9.msdn.com/Events/TechEd/NorthAmerica/2011/MID311

相關問題