繁体   English   中英

实体框架主键约定。 如何允许更多列名中带有“ id”的列?

[英]Entity Framework primary key convention. How to allow more columns with 'id' in their name?

我正在现有数据库上开发Web应用程序,很遗憾,我无法更改。 我得到这个错误

“使用不区分大小写的搜索时,为属性'Id'找到了多个属性映射。”

经过一番搜索后,我发现问题在于EF中有一些约定,更具体地讲(根据我在此处的阅读内容)指出:

如果字段名称包含ID后缀(不区分大小写),则EF会自动将其作为主键

该表已经有一个主键(名为“ id”)。 有没有一种方法可以禁用EF约定或以其他任何方式允许除我的“ id”字段外,还有一个名为“ something_id”的字段而不会出现此错误?

这是如何禁用EF的id约定:

在OnModelCreating内部

            modelBuilder.Conventions.Remove<IdKeyDiscoveryConvention>(); 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM