0

このエラーは、画面に変更を保存するたびに表示されます。私が最後に取り組んだのは、WCFRIAサービスで関係を作成することです。私はすべての例外情報を確認し、デバッガーでコードをスローする直前までステップスルーしようとしましたが、結果はありませんでした。'name'参照は役に立ちません。'name'を参照するコードのすべてのビットにコメントしました。この問題についてほとんど何も教えてくれない例外の1つであるように思われます。

[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サービスクラスでnull許容プロパティを使用し、LightSwitchでデータソースを更新してから、RIAサービスでマークする場合に発生[Required]します。

Requiredは、LightSwitchで1対多(私の場合)の関係を強制します。RIAサービスでnull許容型を使用すると、null許容型(RIAサービス)とその非null許容型(LightSwitch)の間に暗黙のキャストがないという構文エラーが発生します。 )。

ただし、最初にnull許容型を作成すると、LightSwitchは0または1対多の関係を作成し、RIAサービスにRequiredを追加すると、このあいまいなランタイム例外がスローされます。

于 2013-03-15T14:30:39.007 に答える