0

每当我将更改保存到我的屏幕时,就会出现此错误。我做的最后一件事是在 WCF RIA 服务中创建关系。我查看了所有异常信息,并尝试在调试器中单步执行我的代码,直到它被抛出之前,都没有结果。'name' 引用没有用,我评论了引用'name' 的每一段代码。它似乎是那些几乎没有告诉你这个问题的例外之一。

[Microsoft.LightSwitch.DataService][Application:Error][LightSwitchServiceApplication.WCF_RIA_ServiceData:SaveChanges] An exception has occurred:  Microsoft.LightSwitch.DataServiceOperationException: Invalid argument 'name' ---> System.ArgumentException: Invalid argument 'name'
  at Microsoft.LightSwitch.Platform.Utilities.Internal.Parameter.ThrowArgumentException(String parameterName)
  at Microsoft.LightSwitch.Details.Framework.Base.DetailsSet`3.GetItemCore(String name)
  at Microsoft.LightSwitch.Details.Framework.Base.DetailsSet`1.get_Item(String name)
  at Microsoft.LightSwitch.ServerGenerated.Implementation.DataProvider.RiaDataProvider.HandleErrors(ChangeSet changeSet, List`1 entityPairs)
  at Microsoft.LightSwitch.ServerGenerated.Implementation.DataProvider.RiaDataProvider.SubmitCore(IEnumerable`1 changes)
  at Microsoft.LightSwitch.ServerGenerated.Implementation.DataProvider.DataProvider.Submit(IEnumerable`1 changes)
  at Microsoft.LightSwitch.ServerGenerated.Implementation.DataServiceImplementation`1.PerformPersistCore(IEnumerable`1 eventsChangeSetItems)
  at Microsoft.LightSwitch.ServerGenerated.Implementation.DataServiceImplementation`1.<>c__DisplayClass46.<PerformPersist>b__45()
  at Microsoft.LightSwitch.Threading.DualDispatcherObject.Mutate(IDispatcher logicDispatcher, MutatorHost host, Action mutator)
  at Microsoft.LightSwitch.ServerGenerated.Implementation.DataServiceImplementation`1.PerformPersist(IEnumerable`1 eventsChangeSetItems)
  at Microsoft.LightSwitch.ServerGenerated.Implementation.DataServiceImplementation`1.Microsoft.LightSwitch.ServerGenerated.Implementation.IServerDataServiceImplementationCore.Submit()
  at Microsoft.LightSwitch.ServerGenerated.Implementation.DataService`1.<>c__DisplayClass12.<Microsoft.LightSwitch.ServerGenerated.Implementation.IODataService.SaveChanges>b__10()
  at Microsoft.LightSwitch.ServerGenerated.Implementation.DataServiceImplementation`1.InvokeOperationCore[T](String operationName, Object[] args, Boolean invokedFromODataClient, Func`1 invokeOperation, Action catchCallback, Action`2 serializeCustomExceptionInfo)
  --- End of inner exception stack trace ---
4

1 回答 1

1

如果您在 WCF RIA 服务类中使用可为空的属性,更新 LightSwitch 中的数据源,然后将其标记为[Required]在 RIA 服务中,则会出现此运行时错误。

必需强制LightSwitch 中的一对多(在我的情况下)关系,并且在 RIA 服务中使用可为空的类型将给出一个语法错误,即在可空类型(RIA 服务)与其不可为空的等价物(LightSwitch)之间没有隐式转换)。

但是,如果您先创建可空类型,LightSwitch 将创建0 或 1 对多的关系,然后当您将Required添加到 RIA 服务时,就会抛出这个模糊的运行时异常。

于 2013-03-15T14:30:39.007 回答