首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQLite-Net扩展和FileModel

SQLite-Net扩展和FileModel
EN

Stack Overflow用户
提问于 2015-07-26 09:10:01
回答 1查看 320关注 0票数 3

我想要创建一个表示文件/文件夹的类,它有一个或没有一个父类,并且可以包含文件/文件夹。因为我的文件夹是文件的特例。我的模型看起来是这样的:

代码语言:javascript
复制
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制作那个类吗?

非常感谢:-)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-27 06:09:24

对于同一个类的关系,您必须显式声明如下所示的逆关系:

代码语言:javascript
复制
[OneToMany(inverseProperty: "ParentFile", CascadeOperations = CascadeOperation.All)]
public List<DbFileModel> Files { get; set; }

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

待决问题可以改进反向关系的发现,所以在将来的版本中,这可能不再是必要的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31635342

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档