1
A
回答
3
用流利的API,您必须使用匿名类型:
modelBuilder.Entity<YourType>()
.HasKey(e => new
{
e.VarChar,
e.Int1,
e.Int2
});
其它方式使用数据注释:
public class YourType
{
[Key, Column(Order = 0)]
public string VarChar { get; set; }
[Key, Column(Order = 1)]
public int Int1 { get; set; }
[Key, Column(Order = 2)]
public int Int2 { get; set; }
}
在列的两个场景顺序很重要。一旦你尝试使用DbSet<YourType>.Find
,你将不得不以相同的顺序提供密钥。 EF还在内部使用订单。
相关问题
- 1. 实体框架 - 代码第一 - 一个与共享主键
- 2. 实体框架建模代码优先
- 3. 实体框架,代码优先和datetimes
- 4. 与实体框架代码优先
- 5. 实体框架 - 代码优先方法
- 6. 实体框架|代码优先|从CultureInfo.Name
- 7. 实体框架代码优先使用
- 8. 实体框架 - 代码优先Fluent API:ErrorMessage?
- 9. 映射实体框架“代码优先”
- 10. 实体框架代码优先映射
- 11. 实体框架+ PostgreSQL代码优先
- 12. 实体框架代码优先 - 关系
- 13. 实体框架端口从模型优先到代码优先
- 14. 实体框架:数据库优先/代码优先混合
- 15. 实体框架代码优先空外键
- 16. 实体框架 - EF代码优先选择外键
- 17. 实体框架代码优先布尔外键
- 18. 实体框架代码优先 - 外键关系
- 19. 创建与实体框架代码优先约束或键ApplicationUser
- 20. 如何使用代码优先实体框架指定外键
- 21. 使用实体框架代码优先创建一个复杂的主键
- 22. 代码优先在表之间共享主键
- 23. 实体框架代码优先许多与现有实体
- 24. 实体框架4.1代码优先:单列外键到多个实体
- 25. MySql实体框架数据库优先 - 主键=长?
- 26. 实体框架 - 架构升级,多个DBMS和代码优先
- 27. 实体框架中的代码优先实现
- 28. 实体框架代码优先和实现IList <T>
- 29. 实体代码首先与共享主机生产DB
- 30. 实体框架4.1代码首先,联合主键作为外键