可以說我有一個方法,例如:
public string SetSessionData(dynamic data, string token)
{
var request = (data as JObject).ToObject<SetRunSessionDataRequest>();
var session = runSessionRepository.GetRunSessionWithToken(token);
if (!string.IsNullOrEmpty(request.Id))
session.Id = request.Id;
然后我想將更改保存在存盤庫類中,這是怎么做的?這行得通嗎?
public string SetSessionData(dynamic data, string token)
{
var request = (data as JObject).ToObject<SetRunSessionDataRequest>();
var session = runSessionRepository.GetRunSessionWithToken(token);
if (!string.IsNullOrEmpty(request.Id))
session.Id = request.Id;
runSessionRepository.saveSession(session);
存盤庫類中的 saveSession 方法如下所示:
public void saveSession(session){
Session _session = session;
db.saveChanges();
}
所以我真正要問的是如何在存盤庫類中進行保存,因為我在服務類中沒有資料庫實體,我什至需要發送會話變數嗎?這感覺毫無意義,但如果我不知道它怎么知道要保存什么?它甚至會保存任何東西嗎?
uj5u.com熱心網友回復:
我假設db您DbContext在您的存盤庫中,為了保存您Session需要在呼叫db.Update(session);之前呼叫的物件,db.SaveChanges();以便 EF Core 可以跟蹤更改并在呼叫 SaveChanges 時保存它們。
例如:
public void SaveSession(session){
db.Update(session);
db.SaveChanges();
}
本文可能有助于解釋您的代碼正在使用的模式以及您為什么要使用它。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/441299.html
標籤:C# 网 asp.net-mvc asp.net 核心
上一篇:ASP.Net找不到新添加的視圖
下一篇:Asp.netMVC動作鏈接
