如何表示SQL加入C#类?

时间:2018-04-10 06:24:04

标签: c# database architecture

我在C#类上映射不同的表。 即如果我有一个名为“T”的表格,其中包含“A”和“B”列,那么在C#中我会在我的代码中创建类似的内容:

class T{
  A{get;set;}
  B{get;set;}
}

我的问题在于连接表,在1-1,1-n,n-n关系中表示两个连接表的正确方法是什么?

我没有使用Entity Framework,我也无法使用它。

1 个答案:

答案 0 :(得分:2)

我会尝试向您展示一些例子。 首先假设我们有一所学校和学生,让我们说学校有很多学生,一个学生在一所学校 然后你会在课堂上有这样的东西,这将是1-n

int size_row = v2d.size();
int size_col = v2d[0].size();

现在让我们假设一个学生上课,他可以有一个以上,所以它是一个n-n关系:

public class School
{
    private string name;
    private List<Student> students; // which is the list of the student
}

public class Student
{
   private string name;
   private School school; //which represent the school of the student
}

基本上对于1-1你不代表它,因为在数据库中当你有1-1时,这种关系是没用的,你将两个表合并成一个。

希望有所帮助

编辑: 有时在你的班级中建立1-1关系似乎很有用。 所以,让我们以汽车和发动机为例。

public class Student
{
   private string name;
   private School school; //which represent the school of the student
   private List<Class> classes; //Represent all the class he attends
}

public class Class
{
   private string name;
   private List<Student> students; //Represent all the students attending the class
}

在这种情况下,它对于代码的清晰度是有用的。 感谢Corak