gpt4 book ai didi

c# - SQLite-Net 扩展和文件模型

转载 作者:太空宇宙 更新时间:2023-11-03 13:03:28 40 4
gpt4 key购买 nike

我想制作一个代表文件/文件夹的类,它有一个或没有父级并且可以包含文件/文件夹。因为我的文件夹是文件的特例。我的模型如下所示:

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-NetExtension 抛出这个异常:“DbFileModel.Files:OneToMany 反向关系不应该是列表或数组”。

您能建议如何使用 SQLiteNetExtensions 创建该类吗?

非常感谢:-)

最佳答案

在与同一类的关系上,您必须像这样显式声明反向关系:

[OneToMany(inverseProperty: "ParentFile", CascadeOperations = CascadeOperation.All)]
public List<DbFileModel> Files { get; set; }

[ManyToOne(inverseProperty: "Files", CascadeOperations = CascadeOperation.All)]
public DbFileModel ParentFile { get; set; }

a pending issue这将改进反向关系的发现,因此在未来的版本中可能不再需要这样做。

关于c# - SQLite-Net 扩展和文件模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31635342/

40 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com