MVC3 - 为以下场景创建CRUD的最佳方法

时间:2012-08-31 19:51:30

标签: c# asp.net-mvc-3

我有两个表学生和活动。每个学生必须有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个活动文本框一次填写。而不是逐个填写它们。

1 个答案:

答案 0 :(得分:1)

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

作为一种很好的做法,当您设计业务层时,您应该假设它需要与不同类型的UI一起使用,只需要很少或不需要更改。

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

视图是负责显示信息和接受用户输入的实体。鉴于此Student类包含活动集合,我不明白为什么您无法显示它以便可以立即输入所有活动。到目前为止你尝试了什么?