2012-11-09 16 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

相关问题