gpt4 book ai didi

c# - MVVM DynamicObject + Entity Framework STE 实体 + 属性更改行为

转载 作者:太空宇宙 更新时间:2023-11-03 13:58:47 25 4
gpt4 key购买 nike

我正在为我的 WPF 项目创建一个 BaseViewModel,它派生自 DynamicObject,我不太确定如何处理与主实体“相关”的实体的属性更改(导航属性 View 模型中的主要实体)。

例如:

虚拟机:

 public class CustomerCRUDViewModel: BaseEntityViewModel<Customer>
{
...
}

例如,这将是客户 CRUD 的 VM。例如,Customer 实体有一个名为 Address 的导航属性(一个 Address 类型的实体)。

现在的问题是,当将 View 绑定(bind)到 Address 中的属性时,更改不会报告给 VM,而是直接报告给实体,因此不会触发在 VM 级别定义的任何行为。

我知道解释可能不够清楚,我只是不知道如何用我糟糕的英语更好地解释自己。

我的问题是:基于通用 DynamicObject 的 VM 将如何处理我需要为不属于主要实体的属性定义行为的场景?

最佳答案

我最终通过在 System.Dynamic.DynamicObject.TryGetMember 'getter' 方法中使用缓存的 BaseViewModel 实例包装导航属性解决了这个问题。虽然不确定它是否是性能最高的解决方案,但我始终可以在派生的实体 View 模型中强类型地键入我的“导航 View 模型”。

关于c# - MVVM DynamicObject + Entity Framework STE 实体 + 属性更改行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11296213/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com