EF迁移时报错“未定义键。请为该 EntityType 定义键。
Posted iixs
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了EF迁移时报错“未定义键。请为该 EntityType 定义键。相关的知识,希望对你有一定的参考价值。
模型生成过程中检测到一个或多个验证错误:
iXS.Models.OrderDetails: : EntityType“OrderDetails”未定义键。请为该 EntityType 定义键。
iXS.Models.OrderSummary: : EntityType“OrderSummary”未定义键。请为该 EntityType 定义键。
OrderDetailses: EntityType: EntitySet“OrderDetailses”基于未定义任何键的类型“OrderDetails”。
OrderSummaries: EntityType: EntitySet“OrderSummaries”基于未定义任何键的类型“OrderSummary”。
当运行程序时,报了这个错误。检查了一番,发现错误是没有定义主键。
Code First默认约定将命名为Id或“类名+Id”的属性视为表的键。
所以,当你设置的主键是自己没有按默认规则命名的话,需要引入。
然后就可以设置主键了。直接在属性前加上[Key]
1 using System; 2 using System.ComponentModel.DataAnnotations; 3 4 namespace iXS.Models.BasicDataManage 5 { 6 /// <summary> 7 /// ProductInfo Entity Model 8 /// </summary> 9 public class ProductInfo 10 { 11 12 /// <summary> 13 /// 主键 14 /// </summary> 15 [Key] 16 public int F_Id { get; set; } 17 18 /// <summary> 19 /// 产品名称 20 /// </summary> 21 public String ProductName { get; set; }
以上是关于EF迁移时报错“未定义键。请为该 EntityType 定义键。的主要内容,如果未能解决你的问题,请参考以下文章
vs2013, EF6.0.0.0 使用Migrations来更新数据库时报错
BIEE迁移过后,在设置用户登录默认页时报错:已拒绝用户访问路径/user/......
kettle从oracle向mysql迁移大数据量时报错,求教
EF6添加mysql的edmx实体时报错:无法生成模型:“System.Data.StrongTypingException: 表“TableDetails”中列“IsPrimaryKey”的值为 D
Django项目与mysql交互进行数据迁移时报错:AttributeError: 'str' object has no attribute 'decode'(示例代