部分使用课程是一种好习惯吗?

时间:2014-01-02 04:22:26

标签: c# asp.net database

我正在编写一个代表数据库中模型的类。该模型中的某些数据是由数据库创建的,并且在创建时尚不知道。这是我所说的一个小例子:

public class Person {
    public int id { get; private set; }
    public string name { get; set; }
    // Methods to load and update...
}

此类将具有从数据库加载数据并更新对数据库所做更改的方法。

现在,我的问题是:

  • 我是否应该使用此类在我的数据库中创建新的Person记录?
  • 或者我应该创建一个只具有创建新人所需属性的新类?

同样,我的理由是我在创建时无法知道id字段,所以也许我不应该使用相同的类。

我希望你能帮我解决这个难题。

1 个答案:

答案 0 :(得分:0)

马塞尔,

简短回答:对于你的第一个问题是肯定的,对你的第二个问题不是。

理论是你的班级应该拥有你的申请所需的所有成员。如果数据库表包含键,那么根据定义它们必须出现在您的类中,否则您的程序将无法添加行。通过使您的类符合数据库表的要求以及程序的要求,该类将适用于添加,更新甚至搜索。如果您开始挑选并选择要添加的字段,则需要选择要用于每个操作的类,从而导致混淆,最终可能浪费您的时间。

这并不是说你必须拥有班上的每一栏;如果应用程序不需要该列,则不需要包含该列。

之前有关于实体框架的评论,要求您构建这种类型的类,或“实体”,因为它随后被调用。