簡體   English   中英

使用Entity Framework 1(EF1)更新-在saveChanges()上

[英]Update using Entity Framework 1 (EF1) - on saveChanges()

我試圖增加存儲在數據庫中的計數器。

因此,這需要我使用實體框架1(EF1)進行更新。

我正在做這樣的事情:

  CounterTBL OrderCounter = MyRepository.CounterTableDetails("ORDERID"); 

  Booking Booking = new Booking();

  Booking.BookingAdminID = User.ID;
  Booking.BookingStatus = 2;

  OrderCounter.CounterFLD = OrderCounter.CounterFLD + 1;

  using (var ctx = new WhygoContext())
  {
      ctx.AddToBookings(Booking);
      ctx.SaveChanges();
   }

可以很好地插入預訂,但是我希望現有記錄可以更新,但事實並非如此。

在StackOverflow和網上進行的搜索顯示,我應該執行以下操作:ctx.CounterTBL.Attach(OrderCounter); ctx.ApplyCurrentValues(“ CounterTBLs”,OrderCounter);

或類似,但是我的智商不喜歡它並且它沒有構建,因此我認為這些只是EF 4的一部分。

可悲的是,我陷入了EF1。有沒有辦法做到這一點。

我對這些東西還很陌生,所以也許我沒有以正確的方式來做這件事...

插入Booking您正在創建上下文的新實例,並僅在該實例上調用保存更改。 您的OrderCounter是從存儲庫加載的,我猜它使用了不同的上下文實例。 您應該在兩個操作之間共享上下文實例,否則您將不得不在兩個上下文上調用SaveChanges

順便說一句。 如果代碼在ASP.NET中運行,則代碼不是很可靠,因為並發客戶端可以存儲相同的計數器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM