2012-11-09 44 views
1

我在本地計算機上開發了一個小型Web窗體應用程序,它運行良好,但是當我將它移動到另一臺計算機時,我用AJAX查詢失敗。Web服務使用LINQ查詢數據庫在一臺計算機上失敗,而不是其他

下面是相關代碼:

/*Search for Event.country by name*/ 
    [WebMethod] 
    [ScriptMethod(ResponseFormat = ResponseFormat.Json)] 
    public string[] GetVenues(string searchterm) 
    { 
     var _db = new MyApp.Models.EventContext(); 

     var myResult = from e in _db.Events 
         where e.venue.Contains(searchterm) 
         select e.venue; 

     return myResult.Distinct().ToArray(); 
    } 

我懷疑我的問題是在EventContext類的OnModelCreating方法:

protected override void OnModelCreating(DbModelBuilder modelBuilder) 
    { 
     modelBuilder.Entity<Event>().ToTable("events"); 
    } 

我從我的本地計算機備份的數據庫和恢復了它另一個,所以我懷疑我做了OnModelCreating錯誤,因爲表已經存在。我的假設是否正確?

下面是錯誤消息我收到從網上Serivce響應爲觀看由螢火蟲:

{"Message":"An exception occurred while initializing the database. See the InnerException for details.","StackTrace":" 
at System.Data.Entity.Internal.InternalContext.PerformInitializationAction(Action action) 
at System.Data.Entity.Internal.InternalContext.PerformDatabaseInitialization() 
at System.Data.Entity.Internal.LazyInternalContext.<InitializeDatabase> b__4(InternalContext c) 
at System.Data.Entity.Internal.RetryAction'1.PerformAction(TInput input) at System.Data.Entity.Internal.LazyInternalContext.InitializeDatabaseAction(Action'1 action) 
at System.Data.Entity.Internal.LazyInternalContext.InitializeDatabase() 
at System.Data.Entity.Internal.InternalContext.GetEntitySetAndBaseTypeForType(Type entityType) 
at System.Data.Entity.Internal.Linq.InternalSet'1.Initialize() 
at System.Data.Entity.Internal.Linq.InternalSet'1.get_InternalContext() 
at System.Data.Entity.Infrastructure.DbQuery'1.System.Linq.IQueryable.get_Provider() 
at System.Linq.Queryable.Where[TSource](IQueryable'1 source, Expression'1 predicate) 
at MyApp.WebServices.AutoComplete.GetVenues(String searchterm)","ExceptionType":"System.Data.DataException"} 
+0

消息說您應該檢查內部異常以獲取更多詳細信息。怎麼樣? –

+0

我以爲我把它寫在我的問題中,但是當我重新構造它時,我必須丟失它:代碼在我的朋友的計算機上運行,​​並且我無法在那裏調試它。 –

+1

添加記錄器並從朋友處獲取日誌文件也會有所幫助。 – TylerOhlsen

回答

1

這是很難釐清究竟是從提供的數據的問題的根源。

您的意見稱,您無權訪問朋友的計算機上的應用程序。您是否在Visual Studio中嘗試過Remote Debugging

您可能還想檢查您的數據庫中是否定義了可空類型,或者列值可能與數據庫默認值不相同。這將表明數據存在問題,並且原因爲DataException

相關問題