选择新表后加载操作失败 - 取消选择后再次运行

时间:2012-07-03 06:53:34

标签: c# oracle odp.net visual-studio-lightswitch

我目前面临着一个非常奇怪的问题,即Visual Studio LightSwitch 2010与Oracle数据库和ODP.NET结合使用。

到目前为止,我已将所有必要的表添加到LightSwitch应用程序中,并为所有表创建了屏幕 - 它可以正常工作。

然后我添加/选择了一个新表 - 让我们称之为errorcodes - 来自Oracle数据库并遇到问题。只要我选择errorcodes表,我总会收到错误消息:

  

查询'dtFacilities_All'的加载操作失败。远程服务器   返回错误:NotFound。

有趣的是,dtFacilities_All一直在工作之前我选择了新表。设备的屏幕是启动应用程序时的第一个屏幕 - 如果我选择另一个第一个屏幕,我会在新的开始屏幕表中得到相同的错误。

当我取消选择errorcodes表时,一切都运行正常。它似乎与errorcodes表本身有关 - 但我不知道是什么。

errorcodes有一个主键设置,所以这不是问题。

我希望有人可以帮助我。

堆栈跟踪

    {System.ServiceModel.CommunicationException: The remote server returned an error: NotFound. ---> System.Net.WebException: The remote server returned an error: NotFound. ---> System.Net.WebException: The remote server returned an error: NotFound.
   at System.Net.Browser.BrowserHttpWebRequest.InternalEndGetResponse(IAsyncResult asyncResult)
   at System.Net.Browser.BrowserHttpWebRequest.<>c__DisplayClassa.<EndGetResponse>b__9(Object sendState)
   at System.Net.Browser.AsyncHelper.<>c__DisplayClass4.<BeginOnUI>b__0(Object sendState)
   --- End of inner exception stack trace ---
   at System.Net.Browser.AsyncHelper.BeginOnUI(SendOrPostCallback beginMethod, Object state)
   at System.Net.Browser.BrowserHttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
   at System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelAsyncRequest.CompleteGetResponse(IAsyncResult result)
   --- End of inner exception stack trace ---
   at System.ServiceModel.DomainServices.Client.WebDomainClient`1.EndQueryCore(IAsyncResult asyncResult)
   at System.ServiceModel.DomainServices.Client.DomainClient.EndQuery(IAsyncResult asyncResult)
   at Microsoft.LightSwitch.ClientGenerated.Implementation.DomainContextClient.EndQueryCore(IAsyncResult asyncResult)
   at System.ServiceModel.DomainServices.Client.DomainClient.EndQuery(IAsyncResult asyncResult)
   at System.ServiceModel.DomainServices.Client.DomainContext.CompleteLoad(IAsyncResult asyncResult)}

1 个答案:

答案 0 :(得分:0)

更新:

errorcodes包含一个名为ISLOSS的列。该列的类型为NUMBER(1,0) - LightSwitch将其作为bool值正确映射到实体中。当我将该列的数据类型更改为NUMBER(2,0)时,一切正常。

似乎lightswitch对此数据类型(NUMBER(1,0))有问题。但我真的不知道如何解决它 - 将数据类型更改为NUMBER(2,0)只是一个临时值。变通方法..