Orm Windows Phone 7上的CoolStorage-映射问题
我正在Windows Phone 7应用程序中使用Vici.CoolStorage访问SQLite数据库。我在此行收到一个空引用异常:Orm Windows Phone 7上的CoolStorage-映射问题,orm,windows-phone-7,coolstorage,Orm,Windows Phone 7,Coolstorage,我正在Windows Phone 7应用程序中使用Vici.CoolStorage访问SQLite数据库。我在此行收到一个空引用异常: CSList<Regimen> regimens = Regimen.List(); 相关模型的映射为: using Vici.CoolStorage; namespace MyApp.Core.Domain { [MapTo("Regimen")] public class Regimen : CSObject<Regi
CSList<Regimen> regimens = Regimen.List();
相关模型的映射为:
using Vici.CoolStorage;
namespace MyApp.Core.Domain
{
[MapTo("Regimen")]
public class Regimen : CSObject<Regimen,int>
{
public int ID
{
get { return (int)GetField("ID"); }
set { SetField("ID", value); }
}
public string Name
{
get { return (string)GetField("Name"); }
set { SetField("Name", value); }
}
[OneToMany(LocalKey = "ID", ForeignKey = "RegimenID")]
public CSList WorkoutDays
{
get { return (CSList)GetField("WorkoutDays"); }
}
}
}
using Vici.CoolStorage;
namespace MyApp.Core.Domain
{
[MapTo("WorkoutDay")]
public class WorkoutDay : CSObject<WorkoutDay,int>
{
public int ID
{
get { return (int)GetField("ID"); }
set { SetField("ID", value); }
}
public int DayNumber
{
get { return (int)GetField("DayNumber"); }
set { SetField("DayNumber", value); }
}
[ManyToOne(LocalKey="RegimenID", ForeignKey="ID")]
public Regimen Regimen
{
get { return (Regimen)GetField("Regimen"); }
set { SetField("Regimen", value);}
}
}
}
使用Vici.CoolStorage;
命名空间MyApp.Core.Domain
{
[MapTo(“养生法”)]
公共类:CSObject
{
公共整数ID
{
获取{return(int)GetField(“ID”);}
set{SetField(“ID”,value);}
}
公共字符串名
{
获取{return(string)GetField(“Name”);}
set{SetField(“Name”,value);}
}
[OneToMany(LocalKey=“ID”,ForeignKey=“RegimenID”)]
公共CSList工作日
{
获取{return(CSList)GetField(“WorkoutDays”);}
}
}
}
使用Vici.CoolStorage;
命名空间MyApp.Core.Domain
{
[映射到(“工作日”)]
公共类WorkoutDay:CSObject
{
公共整数ID
{
获取{return(int)GetField(“ID”);}
set{SetField(“ID”,value);}
}
公共整数日数
{
获取{return(int)GetField(“DayNumber”);}
set{SetField(“DayNumber”,value);}
}
[ManyToOne(LocalKey=“RegimenID”,ForeignKey=“ID”)]
公共养生
{
获取{return(方案)GetField(“方案”);}
set{SetField(“方案”,值);}
}
}
}
如果我在养生模式中对“一夫一妻”的关系进行评论,效果会很好。我不知道我的映射出了什么问题。在你的养生课程中,返回类型不应该是
CSList
它应该是CSList
,所以请更改以下内容:
[OneToMany(LocalKey = "ID", ForeignKey = "RegimenID")]
public CSList WorkoutDays
{
get { return (CSList)GetField("WorkoutDays"); }
}
为此:
[OneToMany(LocalKey = "ID", ForeignKey = "RegimenID")]
public CSList<WorkoutDay> WorkoutDays
{
get { return (CSList<WorkoutDay>)GetField("WorkoutDays"); }
}
[OneToMany(LocalKey=“ID”,ForeignKey=“RegimenID”)]
公共CSList工作日
{
获取{return(CSList)GetField(“WorkoutDays”);}
}
此处的文档(一对多关系部分的最后一段):
[OneToMany(LocalKey = "ID", ForeignKey = "RegimenID")]
public CSList<WorkoutDay> WorkoutDays
{
get { return (CSList<WorkoutDay>)GetField("WorkoutDays"); }
}