c# - 如何访问并获取另一个类的属性?

标签 c# wpf mvvm

我有一个应用程序 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)

这是我的代码:

员工 View 模型:
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"/>

最佳答案

这一切都取决于您如何存储它,等等。如果将其存储在关系数据库中,那么最简单的方法就是创建前导 key ,这将是一对多关系,其中一个雇员有多个项目,但是每个项目只有一个所有者(雇员)。然后在代码中,您必须具有反射(reflect)这种关系的属性,例如项目将具有EmployeeId属性,而雇员将具有项目ID列表作为属性。如果您不想更改类,也可以使用单独的表/对象来存储关系。

关于c# - 如何访问并获取另一个类的属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23582537/

相关文章:

c# - 使用标题 c# 拆分 CSV 文件

c# - 如何在 xaml 中定义和使用资源以便它们可以在 C# 中使用

c# - 我们如何在 MVVM 模式中为 WPF 和 SL 实现更改通知传播?

c# - 从 View 发送消息到 ViewModel : what is an appropriate token?

c# - 通过调用 <asyncmethod>.Result 实现同步方法

c# - 通过 C# Azure 管理库将 SSL 绑定(bind)添加到 Azure 网站

C# 如何检查安装的物理内存是 ECC 还是非 ECC?

wpf - WPF 中的 stackpanel 和 virtualizingstackpanel 有什么区别?

XAML 中的 WPF 日期时间。如何添加天数?

wpf - 如何将多个绑定(bind)添加到 WPF 中的相同依赖属性?