我有一个具有10个字段的模型来对数据进行建模。但是在某些情况下,我仅具有5或6个字段的信息,而没有使用其余的信息。那是好习惯吗?有没有更好的方法使模型具有适应性?
这是.Net Framework MVC上的一个项目,并且ElasticSearch已通过NEST中间件配置为DB。
以下是模型的示例:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace mvcTest.Models
{
public class Activity
{
public string UniqueId { get; set; }
public string Title { get; set; }
public string Index { get; set; }
public string Subtitle { get; set; }
public string Description { get; set; }
public string DescriptionImage { get; set; }
}
}
这是我使用控制器为每个活动插入数据的方式:
using System;
using System.Collections.Generic;
using System.Threading;
using System.Web.Mvc;
using mvcTest.Models;
using mvcTest.Servicies;
using mvcTest.Repositories;
namespace mvcTest.Controllers
{
public class InitializeController : Controller
{
[HttpGet]
public ActionResult Initialize()
{
var service = new ProjectService();
service.DeleteAll();
service.AddBulk(new List<Section> {
InitializeSectionOne()
});
return RedirectToAction("Index", "Home");
}
private Section InitializeSectionOne()
{
var section = new Section
{
UniqueId = Utilities.Utilities.GenerateUniqueId(),
Type = "teacher",
Index = 1,
Title = "First Section of Activities",
Color = "blue",
Activities = new List<Activity> {
InitializeActivity1(),
InitializeActivity2()
}
};
return section;
}
private Activity InitializeActivity1()
{
return new Activity
{
UniqueId = Utilities.Utilities.GenerateUniqueId(),
Title = "Activity 1",
Index = "Enter",
Subtitle = "Example",
Description = "This is a multiple choice test about...",
DescriptionImage = "/Content/activity-description-img.png"
};
}
private Activity InitializeActivity2()
{
return new Activity
{
UniqueId = Utilities.Utilities.GenerateUniqueId(),
Title = "Activity 2",
Index = "Enter",
Subtitle = "Example...more....",
DescriptionImage = "/Content/activity2-description-img.png"
};
}
}
}
如果活动没有Description
,会发生什么?我需要为每个活动建立模型吗?或者最好使用此模型,仅填写可用信息的字段。这是不好的作法还是会导致我现在看不到的后果?
这是1个字段的示例。如果模型中设置了超过5或10个未使用的字段,该怎么办。