Breeze.NET服务器代码引发Int32Converter异常
在对JavaScript客户端代码进行了一些代码更改后,我开始看到以下错误。我也看到其他人报告了这一情况,但没有看到任何人能够缩小范围Breeze.NET服务器代码引发Int32Converter异常,breeze,Breeze,在对JavaScript客户端代码进行了一些代码更改后,我开始看到以下错误。我也看到其他人报告了这一情况,但没有看到任何人能够缩小范围 Int32Converter cannot convert from System.Int64. 在深入研究这个问题之后,它似乎是Breeze.NET服务器代码中的一个bug。此处异常堆栈跟踪的一部分显示了错误的来源: at Breeze.ContextProvider.EF6.EFContextProvider`1.ConvertValue(Object
Int32Converter cannot convert from System.Int64.
在深入研究这个问题之后,它似乎是Breeze.NET服务器代码中的一个bug。此处异常堆栈跟踪的一部分显示了错误的来源:
at Breeze.ContextProvider.EF6.EFContextProvider`1.ConvertValue(Object val, Type toType) in EFContextProvider.cs:line 603
at Breeze.ContextProvider.EF6.EFContextProvider`1.SetPropertyValue(Object entity, String propertyName, Object value) in EFContextProvider.cs:line 573
at Breeze.ContextProvider.EF6.EFContextProvider`1.<>c__DisplayClass10.<RestoreOriginal>b__f(KeyValuePair`2 kvp) in EFContextProvider.cs:line 468
at System.Collections.Generic.List`1.ForEach(Action`1 action)
at Breeze.ContextProvider.EF6.EFContextProvider`1.RestoreOriginal(EntityInfo entityInfo) in EFContextProvider.cs:line 466
at Breeze.ContextProvider.EF6.EFContextProvider`1.<ProcessAllDeleted>b__9(EFEntityInfo entityInfo) in EFContextProvider.cs:line 337
at System.Collections.Generic.List`1.ForEach(Action`1 action)
at Breeze.ContextProvider.EF6.EFContextProvider`1.ProcessAllDeleted(List`1 deletedEntities) in EFContextProvider.cs:line 334
at Breeze.ContextProvider.EF6.EFContextProvider`1.SaveChangesCore(SaveWorkState saveWorkState) in EFContextProvider.cs:line 219
at Breeze.ContextProvider.ContextProvider.OpenAndSave(SaveWorkState saveWorkState)
at Breeze.ContextProvider.ContextProvider.SaveChanges(JObject saveBundle, TransactionSettings transactionSettings)
接得好。截至2014年6月16日,breeze.server.net GitHub repo中已对此进行了修复,并将成为下一个完整breezeJs版本的一部分,有望在本周晚些时候发布。当它在新的nuget软件包中发布时,我会在这里发帖
[TestMethod]
public async Task RemovingNavigationProperty()
{
var entityManager = await TestFns.NewEm(_northwindServiceName);
var employee = new Employee()
{
FirstName = "First",
LastName = "Employee"
};
entityManager.AddEntity(employee);
var manager = new Employee()
{
FirstName = "First",
LastName = "Manager"
};
entityManager.AddEntity(manager);
employee.Manager = manager;
try
{
var saveResult = await entityManager.SaveChanges();
// Now reverse everything
manager.EntityAspect.Delete();
employee.Manager = null;
employee.EntityAspect.Delete();
saveResult = await entityManager.SaveChanges();
}
catch (Exception e)
{
var message = string.Format("Save should have succeeded; Received {0}: {1}",
e.GetType().Name, e.Message);
Assert.Fail(message);
}
}