我有两个表学生和活动。每个学生必须有10个活动,可以是不同的活动。为这种情况创建CRUD的最佳方法是什么?
目前我这样做:
using System;
using System.Collections.Generic;
namespace StudentActivity.Models
{
public class Student
{
public int StudentID { get; set; }
public string LastName { get; set; }
public string FirstMidName { get; set; }
public string ActivityId{ get; set; }
public virtual ICollection<Activity> Activity { get; set; }
}
}
为上述场景创建CRUD控制器。但这使得它很难管理。因为我必须为每个学生分别创建10个活动。有一个更好的方法吗?这样我就可以看到一个学生和10个活动文本框一次填写。而不是逐个填写它们。
答案 0 :(得分:1)
你肯定在这里混合两种不同的东西。业务实体应该被设计为以一种有意义的方式表示业务逻辑,而不管任何UI。
作为一种很好的做法,当您设计业务层时,您应该假设它需要与不同类型的UI一起使用,只需要很少或不需要更改。
现在在这里查看您的业务案例,您有一个父类(Student)和一个子类(Activity)。每个学生都需要参加很多活动。所以你的设计是正确的。如何在UI中呈现它应该绝对不会影响这种设计。
视图是负责显示信息和接受用户输入的实体。鉴于此Student类包含活动集合,我不明白为什么您无法显示它以便可以立即输入所有活动。到目前为止你尝试了什么?