【问题标题】:Entity Framework 6.1 to attach object based on unique constraint other than the primary keyEntity Framework 6.1 根据主键以外的唯一约束附加对象
【发布时间】:2015-08-30 23:14:48
【问题描述】:

我目前正在开发一个与 jet.com API 通信的模型,我遇到了实体框架的困难,这在开发 EF 数据模型以从 API 获取数据时可能很常见。

所以 jet.com API 在大多数情况下会返回唯一键,但出于一些不同的原因,我不想将它们的键用作我的数据库中的主键,但我确实有实体框架中的能力来实现唯一约束,现在的问题是,当未设置或未找到主键时,是否有任何方法可以在 attetch 方法上实现某种覆盖,以基于唯一键来处理实体?

我假设我可能可以编写一个扩展方法来处理这个问题,但我只是不想重新发明轮子......

我在考虑是否有可能为唯一键违规实现某种异常处理程序,但到目前为止我还没有完全弄清楚...

【问题讨论】:

  • 我不完全理解您在寻找什么,为什么不简单地使用您自己的一组约束查询您的Context,然后更新返回的对象。没有真正的理由覆盖附加,只需使用 FirstOrDefault 如果找到更新,否则插入新

标签: c# sql-server entity-framework entity-framework-6 jet.com-apis


【解决方案1】:

我不确定这是否是您要查找的内容,但您可以通过代码在 EF6+ 中映射您的主键:

modelBuilder.Entity<OfficeAssignment>().HasKey(t => t.InstructorID);

https://msdn.microsoft.com/en-us/data/jj591617.aspx#1.1

【讨论】:

    猜你喜欢
    • 2019-04-19
    • 2018-09-28
    • 2016-07-12
    • 1970-01-01
    • 2017-05-05
    • 1970-01-01
    • 2012-08-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多