我在 Silverlight 5 中使用带有实体框架的 RIA 服务。我有一张下Foo
表;
Fooid
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
,当他们调用调用方法时,他们都将被赋予相同的值,这打破了整个概念。
Second Method
我以某种方式拦截服务器上的 Add 方法,可能是通过存储库,并FooRef
在添加此实体并提交更改之前获取值。
有人可以帮忙吗?