[英]How do I access and get the property of another class?
我有一個應用程序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列表作為屬性。 如果您不想更改類,也可以使用單獨的表/對象來存儲關系。
似乎很容易解決。
class Employee
{
public int Id { get; set; }
public IEnumerable<Project> Projects { get; set; }
}
class Project
{
public int EmployeeId { get; set; }
public string Name { get; set; }
}
var employee = new Employee { Id = 1, Projects = new List<Project>
{
new Project { EmployeeId = 1, Name = "Foo" },
new Project { EmployeeId = 1, Name = "Bar" }
}};
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.