我正在编写一个代表数据库中模型的类。该模型中的某些数据是由数据库创建的,并且在创建时尚不知道。这是我所说的一个小例子:
public class Person {
public int id { get; private set; }
public string name { get; set; }
// Methods to load and update...
}
此类将具有从数据库加载数据并更新对数据库所做更改的方法。
现在,我的问题是:
Person
记录?同样,我的理由是我在创建时无法知道id字段,所以也许我不应该使用相同的类。
我希望你能帮我解决这个难题。
答案 0 :(得分:0)
马塞尔,
简短回答:对于你的第一个问题是肯定的,对你的第二个问题不是。
理论是你的班级应该拥有你的申请所需的所有成员。如果数据库表包含键,那么根据定义它们必须出现在您的类中,否则您的程序将无法添加行。通过使您的类符合数据库表的要求以及程序的要求,该类将适用于添加,更新甚至搜索。如果您开始挑选并选择要添加的字段,则需要选择要用于每个操作的类,从而导致混淆,最终可能浪费您的时间。
这并不是说你必须拥有班上的每一栏;如果应用程序不需要该列,则不需要包含该列。
之前有关于实体框架的评论,要求您构建这种类型的类,或“实体”,因为它随后被调用。