我有一个应用程序WPF MVVM,它允许员工创建一个或多个项目,并且每个项目都属于一个员工,所以我的问题是:添加员工时,我还想添加一个项目,以便该项目接收该员工的ID。这样我就可以确定员工与项目之间的关系。这是一个例子:
Employee (Id = 1) --------> Project (id = 1)
Project (id = 2)
Project (id = 3)
Employee (Id = 2) --------> Project (id = 4)
Project (id = 5)
Project (id = 6)
这是我的代码:
员工视图模型:
public class EmployeeViewModel
{
Employee _employee = new Employee();
private IList<Project> _ListeProject;
public IList<Project> ListeProject
{ get; set; }
public void InsetEmployee(Employee Employee)
{
context.Employee.Add(Employee);
context.Entry(Employee).State = EntityState.Added;
context.SaveChanges();
}
private void AddEmployee()
{ InsetEmployee(_employee); }
}
项目ViewModel:
public class ProjectViewModel
{
Project _project = new Project();
ProjectBL _projectBL = new ProjectBL ();
private void AddProject()
{ _projectBL.InsetProject(_project); }
}
Employee.xaml:
<telerik:RadButton Content="Add" Height="23" Name="btnAdd"
HorizontalAlignment="Stretch" VerticalAlignment="Bottom"
Width="120" Command="{Binding AddEmployeeCMD}"/>
<telerik:RadButton Content="Add Project" Height="23"
HorizontalAlignment="Stretch" VerticalAlignment="Bottom"
Width="120" Click="Project"/>
这一切都取决于您如何存储它,等等。如果将其存储在关系数据库中,那么最简单的方法就是创建前导密钥,这将是一对多关系,其中一个雇员有多个项目,但是每个项目只有一个所有者(雇员)。然后在代码中,您必须具有反映此重新分配关系的属性,例如Project将具有EmployeeId属性,而Employee将具有项目ID列表作为属性。如果您不想更改类,也可以使用单独的表/对象来存储关系。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句