实体框架组合键代码首先导致模型验证错误

本文关键字:模型 验证 错误 框架 组合 代码 实体 | 更新日期: 2023-09-27 18:12:59

我正在使用ASP。. NET MVC 3与实体框架4代码第一的方法,每次我试图使用我的模型上的关键属性指定复合键,我得到这个错误:

System.Data.Edm。EdmAssociationConstraint::属性个数关系约束中的从属角色和主体角色必须为完全相同。

我使用column属性来区分主键的顺序,如下所示:

 public class Game
    {
        [Key, Column(Order=0)]
        public Guid GameId { get; set; }
        [Key, Column(Order=1)]
        public string Name { get; set; }
        public string Description { get; set; }
        public Game()
        {
            this.GameId = Guid.NewGuid();
        }
    }

我想知道是否有另一种方法来创建复合键,或者也许有一种方法来停止得到这个错误?我知道可以向OnModelBuild事件添加逻辑,但是如果可能的话,我宁愿使用模型上的键属性。

实体框架组合键代码首先导致模型验证错误

尝试从实体键中排除属性Name(我建议这样做)。或者,如果你真的需要让它成为键的一部分,可以在所有实体中使用它。