我正在尝试显示DataGridView中两个相关实体的数据。我知道我可以选择这样的值:
from tasks in context.TaskSettings
join train in context.Trainings on tasks.TrainingID equals train.TrainingID
where tasks.TrainingID == task
select new {TrainingName = train.TrainingName,
DriversNeeded = tasks.DriversNeeded,
EmployeesPerSupervisor = tasks.EmployeesPerSupervisor};
但是这给了我不可变的值,我感兴趣的是在DataGridView中显示这些值,因此用户只需编辑值并单击Save Changes。
我尝试过其他方法
ObjectQuery<TaskSetting> trainingSettings =
(ObjectQuery<TaskSetting>)context.TaskSettings.Where(t => t.TrainingID == task);
dgvTask.DataSource = trainingSettings.Execute(MergeOption.AppendOnly);
但这只是将整个培训实体放在一个列中
我希望能够至少从Training实体获取培训名称,并且仍然可以进行更改并相应地更新数据上下文。我想张贴图片更有帮助,但这是我的第一个问题。任何帮助将不胜感激!
答案 0 :(得分:1)
为什么不更好地实现Mediator Pattern,以便通过将两个实体绑定到Mediator上的单个属性来管理内部编辑。然后将DataGridView绑定到Mediator,并让它管理各个实体的自定义正确更新。