【问题标题】:How call tables without primary key with entity framework core如何使用实体框架核心调用没有主键的表
【发布时间】:2019-07-09 12:08:38
【问题描述】:

我正在用 odata 做一个 asp.net core api。我在数据库中的表没有主键,我无权更改数据库。我使用以下命令来调用我的数据库:

"dotnet ef dbcontext scaffold "数据源 = 192.168.11.1\sql2016;初始目录=SeeMiddle;持久安全信息=True;用户 id=Iaas;密码=Iaas123!@#" Microsoft.EntityframeworkCore.SqlServer -d -c见MiddleContext -o Models\Entities --force"

我在每个表中都遇到以下错误:

无法识别表“cmn.ReshteNerkhItem”的主键。

无法为表“cmn.ReshteNerkhItem”生成实体类型。

如何使用在 asp.net core 中有任何主键的数据库??

【问题讨论】:

  • 对不起,这个地址在我的情况下不起作用!
  • 你已将类属性装饰为 [Key]
  • 它没有从数据库中带来任何东西
  • 你运行的是什么版本的 Ef.Core?

标签: c# asp.net asp.net-core entity-framework-core odata


【解决方案1】:

简短的回答,你不知道。实体框架需要一个键。好消息是,如果您的表没有密钥,您可以有效地欺骗密钥。如果您的表有一个不同的隐式键,那么只需使用[Key] 装饰该属性,您就会很好。 key 是它必须是一个独特的唯一值。如果您没有可以执行此操作的单列,则需要开始一起使用列来创建复合键 ([Key, Column(Order = 0)].

【讨论】:

    猜你喜欢
    • 2018-09-24
    • 2017-10-03
    • 1970-01-01
    • 2011-04-29
    • 1970-01-01
    • 1970-01-01
    • 2019-02-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多