实体框架将多个表映射到一个实体。并发检查

发布于 2024-11-19 21:51:29 字数 250 浏览 1 评论 0原文

我将一个实体映射到两个表。该表的第一个有时间戳字段。 我想要什么 - 如果我修改第一个表中的字段,它应该检查第一个表是否与时间戳列并发。第二个表不应该更新。如果我修改第二个表,它应该只更新第二个表。第一个表必须保持不变。

如果我为架构中的时间戳字段设置“Concurrecny=None”,则这是有效的。 如果我为时间戳字段设置“Concurrecny=Fixed”并更改第二个表中的属性,它将使用当前值更新第一个表。

如何仅对这两个表之一进行并发检查?

I got one entity mapped to two tables. First of this tables has timestamp field.
What I want - if I modify field from first table it should check first table for concurrecny with timestamp column. The second table should'n updating. If I modify second table it should just update the second table. First table must be unchanged.

This is work if I set "Concurrecny=None" for the timestamp field in schema.
If I set "Concurrecny=Fixed" for the timestamp field and change properties from the second table it update the first table with current values.

How to make Concurrency check only for one of this two tables?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

梦过后 2024-11-26 21:51:29

那是不可能的。一旦将两个表映射到单个实体,它们就成为实体框架的一个表,并且时间戳在它们之间共享,因此如果您对第二个 EF 进行任何更改,则始终会修改第一个 EF 中的时间戳。如果将 Concurrency 设置为 None,您将关闭 EF 中的并发功能以及时间戳字段的主要用途。

That is not possible. Once you map two tables to single entity they becomes one for entity framework and the time stamp is shared among them so if you do any changes to the second EF will always modify timestamp in the first. If you set Concurrency to None you are turning off the concurrency feature in EF and the main purpose of timestamp field.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文