【问题标题】:When create a controller show an msg创建控制器时显示消息
【发布时间】:2017-07-28 15:10:07
【问题描述】:

我想使用 EF 实体上的脚手架作为模型创建 MVC 5 控制器,但出现此错误:

'无法检索 'TSystem.Models.YSummary' 的元数据。一个或 在模型生成过程中检测到更多的验证错误: TSystem.Service.YSummary:EntityType 'YSummary' 没有定义键。 定义此 EntityType 的键。 YSummaryDBSet : EntityType: 实体 设置“YSummaryDBSet”基于没有键的“YSummary”类型 已定义。

【问题讨论】:

  • 这不是一个坏问题。只问了一句生疏的英语。人们不应该投反对票。

标签: c# asp.net entity-framework asp.net-mvc-5


【解决方案1】:

错误有点明显。您有一个名为 YSummary 的 EF 实体,它没有主键。

  • 如果您正在使用代码,请先将 Id 属性添加到类中,然后 迁移。
  • 如果您使用数据库,请先在 表并重新生成模型
  • 如果您首先使用模型,请喜欢 先编码,但在模型中

【讨论】:

  • 其实那不是一个表(数据库),而是一个视图(SQL中的selected table view)....那个EF实体是不是很难处理VIEW?
  • 我不知道您可以将视图用作实体的来源!但是,如果您这样做,那么您当然可以为您的视图分配一个主键。虽然它是非标准的,但很难维护。尝试为每个表设置一个实体。如果这很难工作,请创建一个将数据转换为新对象的数据访问层。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-22
  • 1970-01-01
  • 2020-12-26
  • 1970-01-01
  • 2019-01-12
  • 2011-09-21
相关资源
最近更新 更多