【问题标题】:Entity Framework on primary key and is null主键上的实体框架并且为空
【发布时间】:2014-05-31 06:08:18
【问题描述】:

我需要映射一些外部数据库,我无法修改架构。但是表没有主键,而是像Client_IDCalendar_ID这样的列,但它们不是空的,实体可以映射它们,更糟糕的是,如果少数表中的这些列可以为空,那么实体框架会抛出错误它不能被映射。

我的问题是:我能否以某种方式禁用实体跟踪并在没有主键且列为空的情况下映射这些表?

或者我可以使用代码优先的方法,它是否允许我创建和映射没有主键且所有列都为空的类?

【问题讨论】:

  • 也许您可以在此表上创建一个视图以避免空值。像select * from clients where Client_ID is not null 这样的东西。然后你可以映射视图。
  • @danihp 我无法修改此数据库,这是外部数据库。

标签: entity-framework


【解决方案1】:

实体框架必须有一个关键字段才能工作。它不必是数据库中的真正主键,但它必须是唯一的。如果您的表具有可为空的字段且没有真正的主键,并且您无法修改数据库,那么 Entity Framework 可能不适合该项目。如果您从不尝试加载具有空值的实体,它可能会起作用,但是当您这样做时它会抛出错误(正如您所注意到的)。

【讨论】:

    猜你喜欢
    • 2021-10-26
    • 1970-01-01
    • 1970-01-01
    • 2011-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多