응용 프로그램에 문제가 있습니다. 데이터베이스 (및 일부 웹 서비스)를 쿼리하고 JSON에서 정보를 반환하는 MVC 응용 프로그램이 있습니다. 내 로컬 컴퓨터에서 매력처럼 작동하지만 웹 서버에 업로드 할 때이 오류가 발생합니다.웹 서버에서 모델을 직렬화하는 중 오류가 발생했습니다.
" 'System.Data.Objects.DataClasses.RelationshipManager'에서 '_owner'값을 가져 오는 중 오류가 발생했습니다."
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.Configuration.LazyLoadingEnabled = false;
base.Configuration.ProxyCreationEnabled = false;
}
그리고 아무 일도 발생하지 : 내가 함께 프록시와 게으른 로딩을 사용하지 않도록 노력
(당신은 http://canedroid.com/mvc/api/requests/getlastcheckins에 전체 오류 페이지를 볼 수 있습니다).
모델 : 컨트롤러
namespace CaneDroid.MVCApp.Models
{
public class CaneDroidContext : DbContext,ICaneDroidDataSource
{
public CaneDroidContext()
: base("DefaultConnection")
{
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.Configuration.LazyLoadingEnabled = false;
base.Configuration.ProxyCreationEnabled = false;
}
public DbSet<Checkin> mdlCheckins { get; set; }
public DbSet<configAndroid> configAndroid { get; set; }
IQueryable<Checkin> ICaneDroidDataSource.Checkins
{
get { return mdlCheckins; }
}
}
public class Checkin
{
public Checkin()
{
visto = false;
}
[Key,DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
public virtual int Id { get; set; }
[Required]
public virtual string fsqCheckinId { get; set; }
public virtual string text { get; set; }
public virtual string usrId { get; set; }
public virtual string usrFrstName { get; set; }
public virtual string usrLstName { get; set; }
public virtual string venueId { get; set; }
public virtual string venueName { get; set; }
public virtual string venueAddress { get; set; }
public virtual string venueCrossStreet { get; set; }
public virtual string venueLat { get; set; }
public virtual string venueLng { get; set; }
public virtual string venueCity { get; set; }
public virtual bool visto { get; set; }
}
public class configAndroid
{
[Key, DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
public virtual int Id { get; set; }
public string key { get; set; }
public bool value { get; set; }
}
}
작업 :
public R getLastCheckins()
{
var responseJson = R.getLastCheckins(db);
return responseJson;
}
public static R getLastCheckins(CaneDroidContext db)
{
var cache = db.mdlCheckins.OrderByDescending(q => q.Id).Take(10);
return new R(cache, null, null, null, null, null);
}
나는 내가 할 수있는 다른 모르겠어요.