我想要创建一个表示文件/文件夹的类,它有一个或没有一个父类,并且可以包含文件/文件夹。因为我的文件夹是文件的特例。我的模型看起来是这样的:
namespace WPP3.Base.DataModel
{
public class DbFileModel
{
[PrimaryKey]
public string Path { get; set; }
public DateTime DateCreated { get; set; }
public DateTime DateModified { get; set; }
public string DisplayName { get; set; }
public bool isFile { get; set; }
[ForeignKey(typeof(DbFileModel))]
public string ParentID { get; set; }
[OneToMany(null, null, CascadeOperations = CascadeOperation.All)]
public List<DbFileModel> Files { get; set; }
[ManyToOne(null, null, CascadeOperations = CascadeOperation.All)]
public DbFileModel ParentFile { get; set; }
}
}但是当我尝试使用这个类时,SQLite抛出了这个异常:"DbFileModel.Files: OneToMany逆关系不应该是List或Array“。
你能告诉我如何用SQLiteNetExtensions制作那个类吗?
非常感谢:-)
发布于 2015-07-27 06:09:24
对于同一个类的关系,您必须显式声明如下所示的逆关系:
[OneToMany(inverseProperty: "ParentFile", CascadeOperations = CascadeOperation.All)]
public List<DbFileModel> Files { get; set; }
[ManyToOne(inverseProperty: "Files", CascadeOperations = CascadeOperation.All)]
public DbFileModel ParentFile { get; set; }有待决问题可以改进反向关系的发现,所以在将来的版本中,这可能不再是必要的。
https://stackoverflow.com/questions/31635342
复制相似问题