我已经阅读了来自Ladislav的关于独立协会的文章。我已经检查了他在此链接中提供的信息。这些信息非常有帮助,并且提供了一些启示。但是,我想对我有权访问的现有数据库进行建模。它有三个表用户、证书和测验。
起初我认为建模是独立的关联。为什么?我的 Users 表有主键 UserID,Certificates 表有 PK CertID 和一个 UserID 列,我可以说它是外键。就在我认为它是一对多的关系时,我意识到用户表中的某些用户 ID 在证书表中找不到。但是,证书中的所有用户 ID 都可以在用户表中找到。
我的问题是我是否应该使用独立关联,如果是,如何实现这一点,使我的用户表成为主体类,而证书则成为依赖类。这样我就可以在我的用户表中显示或获取值,然后从我的 asp.net mvc 3 应用程序中的证书表中读取值。
请更正下面的代码,它显示了我打算实现我上面所说的内容:
public class Certificates
{
[Key]
public Users CertID { get; set; }
public int ID { get; set; }
public DateTime recvd { get; set; }
public int QuizID { get; set; }
}
public class Users
{
public int ID { get; set; }
public string LastName { get; set; }
public string FirstName { get; set; }
public string email { get; set; }
public ICollection<Certificates> Certificates { get; set; }
}
public class Quiz
{
public int QuizID { get; set; }
public string QuuizName { get; set; }
public int VolumeNo { get; set; }
public int mark { get; set; }
public ICollection<Certificates> Certificates { get; set; }
}
public class cpdContext : DbContext
{
public DbSet<Certificates> Certificates { get; set; }
public DbSet<Users> Users { get; set; }
public DbSet<Users> Quiz { get; set; }
最后,如何使用这三个类的信息显示详细信息视图,并能够添加用户标记和测试。我想建模的关系是测验和证书之间的一对多。