2017-07-05 24 views
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); 
    } 

回答

0

我們需要使用JsonSerializationFns從微風序列化的結果,它將增加的關鍵詞。

mvcBuilder.AddJsonOptions(opt => { 
    var ss = JsonSerializationFns.UpdateWithDefaults(opt.SerializerSettings); 
    var resolver = ss.ContractResolver; 
    if (resolver != null) { 
     var res = resolver as DefaultContractResolver; 
     res.NamingStrategy = null; // <<!-- this removes the camelcasing 
    } 
相關問題