gpt4 book ai didi

c# - 在两个模型之间创建 ManyToMany 关系

转载 作者:IT王子 更新时间:2023-10-29 06:21:18 24 4
gpt4 key购买 nike

我刚开始创建 Windows 应用商店应用,它需要使用数据库。我已经选择了 sqlite 并正在使用 sqlite-net 包。但是,我不确定如何在两个模型之间创建 m2m 关系。

class ModelA
{
[PrimaryKey, AutoIncrement]
public int Id { get; set; }
public string name { get; set; }
<relationship to ModelB>
}


class ModelB
{
[PrimaryKey, AutoIncrement]
public int Id { get; set; }
public string name { get; set; }
}

我必须使用列表吗?还是字节[]?我如何保证该属性将被限制为 ModelB

最佳答案

您也许可以使用 sqlite-net-extensions ,它有一个 ManyToMany 属性,看起来非常适合您的需求。这是他们网站上的一个使用示例。

public class Student
{
[PrimaryKey, AutoIncrement]
public int StudentId { get; set; }

public string Name { get; set; }
public int Age { get; set; }

[ManyToMany(typeof(StudentsGroups))]
public List<Group> Groups { get; set; }

public int TutorId { get; set; }
[ManyToOne("TutorId")] // Foreign key may be specified in the relationship
public Teacher Tutor { get; set; }
}

public class Group
{
[PrimaryKey, AutoIncrement]
public int Id { get; set; }

public string GroupName { get; set; }

[ForeignKey(typeof(Teacher))]
public int TeacherId { get; set; }

[ManyToOne]
public Teacher Teacher { get; set; }

[ManyToMany(typeof(StudentsGroups))]
public List<Student> Students { get; set; }
}

public class StudentGroups
{
[ForeignKey(typeof(Student))]
public int StudentId { get; set; }

[ForeignKey(typeof(Group))]
public int GroupId { get; set; }
}

关于c# - 在两个模型之间创建 ManyToMany 关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23124417/

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