【问题标题】:EntityType 'SelectListItem' has no key definedEntityType 'SelectListItem' 没有定义键
【发布时间】:2011-07-14 18:06:14
【问题描述】:

在数据库中的一个空表上,我在返回 View(context.Customer.ToList()); 时的索引主控制器上收到此错误;

System.Data.Edm.EdmEntityType: : EntityType 'SelectListItem' has no key defined. Define the key for this EntityType.
System.Data.Edm.EdmEntitySet: EntityType: EntitySet �SelectListItems� is based on type �SelectListItem� that has no keys defined.

我已将 [key] 属性添加到模型中的 id(带有 getter 和 setter),edmx 文件在我的项目中,其中包含表 customer,其中 id 作为主键,与我的模型中相同。

我还要做什么????

【问题讨论】:

    标签: c# entity-framework


    【解决方案1】:

    请看一下这个link,它向您展示了如何“在没有从表中推断出键时添加实体键”

    1. 取消注释 .edmx 文件的 SSDL 部分中的 EntityType 元素。
    2. 通过将适当的 Key 元素添加到 EntityType 元素来定义实体类型的键。
    3. 在 SSDL 部分中,添加一个 EntitySet 元素,该元素指定添加的实体类型映射到的表。
    4. 在 CSDL 部分中,添加与添加的 SSDL 实体类型相对应的 EntityType 元素。
    5. 在 C-S(概念到存储)映射部分,添加一个 EntitySetMapping 元素,用于指定添加的 SSDL 和 CSDL 实体类型之间的映射。

    以上点取自链接。

    【讨论】:

    • @1SeoAdives,很高兴我能提供帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-02
    • 2016-03-16
    • 2013-08-04
    • 2012-12-10
    • 2016-09-26
    相关资源
    最近更新 更多