1

我有一个正在尝试更新的 Linq 2 SQL 对象。此对象的两个属性相互关联,设置一个设置另一个。

所以如果我这样做:

Foo.Code = 啤酒;

Foo.CodeID 属性将自动设置为 5(或其他值。)

问题是 LinqDataSource 设置 Foo.Code,然后立即设置 Foo.CodeID... 它没有绑定到任何东西,因为我们希望用户只设置 Code。这会立即将它们都设置回 null。

我知道我可以使用参数作为默认值,但是有没有办法告诉 LinqDataSource 甚至不设置属性?

编辑:通过创建隐藏字段并在表单视图的 ItemUpdating 事件中为该字段分配正确的值来解决问题。仍然希望避免进行四次相同的查找...

4

1 回答 1

0

是否可以将 Code 属性设为私有(在 dbml 中选择 Code 属性并在 Properties 窗口中设置 access 属性)并创建一个新的公共属性,您可以对其进行更多控制?

我个人已经编写了一个生成器,可以为我生成必要的文件(如 sqlmetal),让我可以完全控制代码。如果您不喜欢生成的 dbml,也许这也是您的一个选择。

于 2009-02-06T22:26:24.040 回答