我的应用程序有3步注册过程,
我能够通过1)和2),一旦我导航到3) - 我看到页面的UI但突然出现“未处理的异常”弹出框。
我在调试输出中得到的错误:
col2
我认为这是因为我在Medicine类中有这行代码(在models文件夹中):
System.NotSupportedException: Don't know about System.Collections.Generic.ICollection`1[LoginSystem.Models.Medicine]
而这个Medicine_Incident就是另一个继承医学的课程:
public virtual ICollection<Medicine_Incident> Medicine_Incident { get; set; }
* Medicine and Medicine_Incident定义了一些字段,如:
public class Medicine_Incident : Medicine
Xamarin是否禁止使用Icollections?
如果你知道发生了什么,请告诉我。 谢谢!
* App输出:
public string Medicine_Name { get; set; }
public string Medicine_Desc { get; set; }
答案 0 :(得分:1)
我建议在您的Medicine_Incident类声明中添加一个ForeignKey,该声明引用与之关联的Medicine。
public class Medicine_Incident : Medicine
{
// Whatever properties you have already defined
...
// This is your link to your medicine PrimaryKey
public int MedicineId { get; set; }
}
如果您想将ICollection留在您的Medicine类声明中以方便使用,请在其上抛出一个IgnoreAttribute:
public class Medicine
{
// Whatever other stuff you have declared
...
[Ignore]
public virtual ICollection<Medicine_Incident> Medicine_Incident { get; set; }
}
这可确保SQLite不会尝试为ICollection类型创建列,因为它不知道如何。