mysql - 如何设计mvc实体模型

标签 mysql asp.net-mvc entity-framework

设计模型对我来说一直是一件痛苦的事情。我的进步方式是:

  1. 找出涉及的数据
  2. 使用数据创建数据库
  3. 使用数据手动创建实体模型,即无需进行 table2class 转换

我告诉没有 table2class 转换的原因是:我真的需要了解如何在 mysql 上/手动执行此操作。我是一个初学者,每次我 Handlebars 放在这个区域上时我都感觉很困难。

考虑保存员工和公司评级的示例。员工可以对自己进行评分,多名员工可以对公司进行评分。于是数据库就变成了:

  1. 雇员:id |员工 ID |标签 ID |评级
  2. 公司评级: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/

相关文章:

mysql - STR_TO_DATE 和 LOAD DATA INFILE 格式问题

asp.net-mvc - 将 ssl 与 aspnet mvc 一起使用会在将数据发布到安全页面时产生问题

c# - 使用 .net WebAPI 创建、更新、删除子实体

asp.net-mvc - Entity Framework 在插入前检查唯一性

PHP:跟踪用户和产品品牌的请求?

php - 无法使用脚本访问mysql

mysql - Yii - 使用 MySQL AS 子句字段

asp.net-mvc - MVC Razor RC 1 : Can the @section be defined with a string constant?

c# - 为什么我的自定义 DisplayFor 模板实际上没有在此处呈现?

database - 如何更新实体数据模型?