【问题标题】:Need insight on TPT EF4 when Inserting with Dynamic Data插入动态数据时需要深入了解 TPT EF4
【发布时间】:2012-12-05 19:17:05
【问题描述】:

首先是我遇到的错误:

EntitySet 'Z10Entities.Accounts' 中的所有对象都必须具有唯一性 主键。但是,类型的实例 “DAL.Model.CreditCardAccount”和“DAL.Model.Debt”类型的实例 两者都有相同的主键值,'EntitySet=Accounts;Id=3'。

这是我的架构:

从我的设计角度来看,该帐户既可以是信用卡类型,也可以被视为债务。是我做错了什么还是遇到了 EF 框架(4.3.1 版本)的限制

编辑:为了让我的问题更加清晰,我基本上是想了解框架为什么给我错误,或者动态数据外键 FieldTemplate 是否工作不正常。

编辑 2:这个问题似乎影响了我的应用程序的其他部分。好像我有一个 TPT 问题:

EntitySet 'Z10Entities.Person' 中的所有对象都必须具有唯一性 主键。但是,“DAL.Model.Employer”类型的实例和 'DAL.Model.PortalUser' 类型的实例都具有相同的主键 值,'EntitySet=Person;Id=1b64b850-34f9-e111-bdc8-000c29005764'。

【问题讨论】:

    标签: asp.net sql-server entity-framework-4 dynamic-data table-per-type


    【解决方案1】:

    嗯,TPT 似乎适用于某些事情,而不适用于其他事情。由于我的业务设计,我需要让不同的账户作为债务负责(账户被注销、信用卡关闭等等。)。

    由于 PK 到 PK 模式,TPT 无法处理此问题。它必须是指向基表的 FK 到 PK。这种微妙的变化促进了所需的功能,同时也简化了我的 LinqToEF 查询。

    这是重构后的版本:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-16
      • 1970-01-01
      • 1970-01-01
      • 2019-01-28
      相关资源
      最近更新 更多