微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在对不同类型的属性创建唯一约束时,如何解决错误“找不到隐式类型数组的最佳类型”?

如何解决在对不同类型的属性创建唯一约束时,如何解决错误“找不到隐式类型数组的最佳类型”?

问题:使用 EF Core (v5),我如何解决编译器错误“未找到隐式类型数组的最佳类型”,从而允许我在其上创建唯一的数据库约束多个不同类型的属性

我正在使用这样的代码

modelBuilder.Entity<Entity>().HasAlternateKey(entity => new [] {entity.COL1,entity.COL2}).HasName("UniqueCOL1_COL2");

// example sourced from: https://docs.microsoft.com/en-us/answers/questions/187856/code-first-unique-constraint-on-multiple-columns.html#answer-190078

就我而言,我看到编译器错误 No best type found for implicitly-typed array,因为 COL1COL2 的类型不同(在本例中为 string 和 int)。

This SO post 解释了错误的原因,但没有解释我如何解决我的问题突出显示的问题。

我尝试使用一组对象,但没有用:

new object[] {entity.COL1,entity.COL2}

解决方法

我能够使用匿名对象解决这个问题。例如:

builder.HasAlternateKey(e => new { e.SomeInt,e.SomeString })

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。