0
我在aulrelia項目中使用breeze和aspnetcore。當我創建新記錄(A)並將其保存到數據庫時,所有工作都正常,但是當我繼續創建記錄(B)進行保存時,控制器仍然從前端接收到記錄A,然後我調試並與另一個也使用微風的aspnet項目。它告訴我關鍵的手柄退出了,我猜測它應該影響前端的微風,以確定記錄A是否被保存,也許這就是爲什麼當我嘗試保存記錄B時,控制器仍然獲得記錄A.
我的控制器:
[Produces("application/json")]
[Route("breeze/[controller]/[action]")]
[BreezeQueryFilter]
public class JumpstartController : Controller
{
private readonly IUnitOfWork _uitOfWork;
public JumpstartController(IUnitOfWork uitOfWork)
{
_uitOfWork = uitOfWork;
}
......
[HttpPost]
[AllowAnonymous]
public SaveResult SaveChanges([FromBody] JObject saveBundle)
{
return _uitOfWork.Commit(saveBundle);
}
工作單位:
readonly EFPersistenceManager<JumpstartEntities> _persistenceManager =
new EFPersistenceManager<JumpstartEntities>();
// private readonly JumpstartContextProvider _contextProvider;
/// <summary>
/// ctor
/// </summary>
public UnitOfWork()
{
TenantRepository = new Repository<Tenant>(_persistenceManager.Context);
}
/// <summary>
/// Reporitories
/// </summary>
public IRepository<Tenant> TenantRepository { get; private set; }
/// <summary>
/// Get breeze Metadata
/// </summary>
/// <returns>String containing Breeze metadata</returns>
public string Metadata()
{
return _persistenceManager.Metadata();
}
/// <summary>
/// Save a changeset using Breeze
/// </summary>
/// <param name="changeSet"></param>
/// <returns></returns>
public SaveResult Commit(JObject changeSet)
{
return _persistenceManager.SaveChanges(changeSet);
}