【发布时间】:2013-05-07 14:17:46
【问题描述】:
我有一个使用 EF 和 WPF 的非常简单的小应用程序。我正在尝试为我们的小团队创建一个非常轻量级的“项目跟踪器”。这些类看起来像:
class Project
{
public int ProjectId { get; set; }
public string Name { get; set; }
public List<ProjectNote> ProjectNotes { get; set; }
public string Status { get; set; }
public string Description { get; set; }
public string ProjectLead { get; set; }
}
class ProjectNote
{
public int ProjectNoteId { get; set; }
public DateTime DateCreated { get; set; }
public DateTime DateEdited { get; set; }
public string CreatedBy { get; set; }
public string LastEditedBy { get; set; }
public string Detail { get; set; }
public int ProjectId { get; set; }
}
我希望能够在数据网格中显示以下字段:
- 项目名称
- 项目描述
- (最近)ProjectNote.Detail
基本上,我想要一个 Datagrid,它允许我的用户查看项目的最新注释并在需要时对其进行编辑。
我无法弄清楚如何构造我的代码(我正在使用 Code First/POCO)以允许用户从 Datagrid 视图创建新的 ProjectNote。我不知道我是否需要我的 Project 类的另一个属性来允许单个 ProjectNote,或者当用户正在编辑包含项目数据的 Datagrid 时,我是否可以对此进行编码(通过 ViewModel)正确实例化一个新的 ProjectNote .
如何创建允许跨多个实体进行编辑/创建的数据网格?
【问题讨论】:
-
您的视图模型上应该有一个
ProjectNote属性,称为NewNote,然后构建您的数据网格以包含该新属性所需的详细信息,以便用户可以输入它们。 -
如果我这样做了,我怎样才能确保(或者我应该将代码放在哪里)我在该属性中获得了该项目的最新注释?
标签: c# wpf entity-framework mvvm entity-framework-5