设计模型对我来说一直是一件痛苦的事情。我的进步方式是:
- 找出涉及的数据
- 使用数据创建数据库
- 使用数据手动创建实体模型,即无需进行 table2class 转换
我告诉没有 table2class 转换的原因是:我真的需要了解如何在 mysql 上/手动执行此操作。我是一个初学者,每次我 Handlebars 放在这个区域上时我都感觉很困难。
考虑保存员工和公司评级的示例。员工可以对自己进行评分,多名员工可以对公司进行评分。于是数据库就变成了:
- 雇员:id |员工 ID |标签 ID |评级
- 公司评级:id |公司 ID |员工 ID |标签 ID |评级
我们如何为此场景设计模型。我真的不明白。以下是想要的型号。
[Table("employee")]
public class Employee
{
[Key]
public int id { get; set; }
...
public List<Rating> ratings { get; set; }
}
[Table("company")]
public class Company
{
[Key]
public int id { get; set; }
...
List of List of Rating which can seperate by each employee
what should come here
}
我们如何设计模型来实现员工评级和员工公司评级。如果我完全错误,请指出。
还为我建议一些关于如何进行/思考模型设计的教程
最佳答案
这是一种以数据为中心的方法,并且有大量的资源可以实现。您可能还想考虑代码优先鼓励的更加面向对象的方法。 https://softwareengineering.stackexchange.com/questions/264379/code-first-vs-database-first
对于您当前的问题,根据您的描述,您想要另一个连接员工和公司的类:
public class CompanyEmployee
{
public int CompanyId { get; set; }
public int EmployeeId { get; set; }
...
public List<Rating> CompanyRatings { get; set; }
}
您可以向公司添加员工列表以供导航。另外,如果类和表名称相同,则不需要表注释。
关于mysql - 如何设计mvc实体模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31410452/