【发布时间】:2012-07-03 07:04:08
【问题描述】:
我在 Silverlight 5 中使用带有实体框架的 RIA 服务。我有一个以下 Foo 表;
食人魔
FooName
FooCode
FooRef
Fooid 是一个自动递增的数字 - 在保存时就像一个魅力 ...FooName 在 ViewModel 中设置 - 在保存时工作正常 ...FooCode 是一个 3 个字母代码例如GRN、SIP、XYZ ...这也在 ViewModel 中设置..没问题FooRef 是一个递增整数。例如服务器上一次保存的值是 100,现在下一次保存应该是 101。
我对如何获得这个最新号码有点困惑。我研究了一下,发现了两种方法,但我对使用这些方法感到困惑,需要帮助如何实现。
First Method
从 ViewModel,我可以从 RIA 服务调用一个 INVOKE,它可以为我提供最后保存的FooRef int。我可以将它加 1 并在 SubmitChanges 上传递值。Problem with First Method : 我使用这种方法面临的问题是,假设有 3 个用户在不同位置的工作站上。他们都开始创建一个新的Foo,当他们调用invoke方法时,他们都将被赋予相同的值,这打破了整个概念。
Second Method
我以某种方式拦截服务器上的 Add 方法,可能是通过 Repository,并在添加此实体并提交更改之前获取 FooRef 的值。
谁能帮忙?
【问题讨论】:
标签: c# silverlight wcf-ria-services auto-increment submitchanges