1

我有两张桌子学生和活动。每个学生必须有 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 个活动文本框一次填充。而不是一一填写。

4

1 回答 1

1

你肯定在这里混合了两种不同的东西。业务实体应设计为以一种有意义的方式表示业务逻辑,而与任何 UI 无关。

作为一个好的实践,当你设计你的业务层时,你应该假设它需要与不同类型的 UI 一起使用,而变化很小或没有变化。

现在在这里查看您的业务案例,您有一个父类(学生)和一个子类(活动)。每个学生都需要有很多活动。所以你这里的设计是正确的。如何在 UI 中渲染它应该绝对不会影响这个设计。

视图是负责显示信息和接受用户输入的实体。给定这个包含活动集合的 Student 类,我不明白为什么不能显示它以便一次输入所有活动。你试过什么了?

于 2012-09-01T01:12:24.680 回答