Tri*_*ran 12 wcf entity-framework self-tracking-entities objectcontext
我已经被这个问题困住了一个多星期了.希望有人能指出我正确的方向.
我首先简要介绍一下我的架构.
资产1 ---> 1地址* - > 1区* - > 1区* - > 1国家
套餐1 - >*资产
使用自我跟踪实体(STE)+ WCF.
脚步:
在步骤2中,呼叫使用预先加载的地址.
from p in context.Assets.Include("Address.Area.Region.Country")
Run Code Online (Sandbox Code Playgroud)
这是尝试呼叫时的错误
context.Packages.ApplyChanges(package)
Run Code Online (Sandbox Code Playgroud)
AcceptChanges无法继续,因为对象的键值与ObjectStateManager中的另一个对象冲突.在调用AcceptChanges之前,请确保键值是唯一的.
编辑
在窥探之后,我发现这是一个STE问题.问题是您无法持久存储包含此处概述的同一实体的多个实例的图形.这是我的问题.
如何将实体添加到我的实体集合中.新实体可能具有包含与集合中已有密钥相同的密钥的相关实体.即添加可能包含相同地址,区域,地区或国家/地区实体的新资产.
这是我的约束:
我知道Diego B Vega建议的可能解决方案,但这些不是我可以用于我的解决方案的选项.有没有人有任何其他想法?
如果你知道我的意思,你有没有考虑放弃ORM-s并恢复正常访问:-)
不开玩笑 - 当你像一个问题(比起其他任何东西闻起来像ORM臭虫)那样摔跤时你可以推出自己的5-10函数来进行正常的sproc调用和更简单的数据类型转换然后你现在又回到完全控制状态,并且不会被图书馆所困扰,这些图书馆将会像5年一样稳定下来.
特别是因为你似乎有非常干净的架构 - 意味着非常简单的查询和直接的更新.
| 归档时间: |
|
| 查看次数: |
19519 次 |
| 最近记录: |