【发布时间】:2011-05-01 02:05:46
【问题描述】:
假设我有以下映射到数据库表的实体(每个匹配的属性名称都可以视为 PK/FK 关系):
public class Person
{
public int PersonID { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
}
public class Employee
{
public int EmployeeID { get; set; }
public int PersonID { get; set; }
public int Salary { get; set; }
}
public class Executive
{
public int ExecutiveID { get; set; }
public int EmployeeID { get; set; }
public string OfficeNumber { get; set; }
}
public class Contact
{
public int ContactID { get; set; }
public int PersonID { get; set; }
public string PhoneNumber { get; set; }
}
我的架构如下:Controller调用Service层,该层又调用Repository层。
我有一个名为 AddExecutive 的视图,它收集以下信息:FirstName, LastName, PhoneNumber, Salary 和 OfficeNumber。
根据我的架构,提交这些数据的最佳方式是什么?我想我会发布一个包含我收集的所有信息的 ViewModel 并将其传递给服务方法AddExecutive(AddExecutiveViewModel addExecutiveViewModel),然后在服务方法中我将创建Person, Employee, Executive, 和Contact 的新实例并附加它们彼此(Person 对象)并将所有数据传递给存储库方法AddExecutive(Person person)。然后 Repository 方法将简单地提交数据。听起来对吗?有什么更好的解决方案?
【问题讨论】:
标签: asp.net-mvc entity-framework asp.net-mvc-2 entity-framework-4 repository