1
1
你发布的代码片段并不能解释为什么你最终会得到一个无限循环。我在想
不过,从根本上讲,您要做的工作通常不是很好的设计,并且具体地违背了LinqToSQL的原则。LINQtoSQL实体应该是一个POCO,根本不知道兄弟实体或底层数据库。要对每个属性更改执行重复检查,不仅需要访问
事实上,您的特定场景是
这封装了要执行的操作,但不阻止使用者更改
如果你真的
必须
限制对基础属性的访问,一种方法是隐藏原始属性并生成只读包装。在Linq设计器中,单击
您还必须更新
请注意,这可能会中断尝试对新的
当您决定除了域逻辑之外还要处理LINQ的数据访问逻辑时,事情开始变得有点不确定,这就是为什么我上面建议您只保留
再来一次-我建议 反对 创建只读包装器的附加步骤;无论如何,我都会提供一些代码,以防您的规范出于某种原因需要它。 |
2
0
它是否因为在初始化过程中触发了OniasChanging而挂起,所以您的支持字段(别名)从未初始化过,所以始终为空? 如果没有更多的背景,这就是我的感觉。 |