实体框架varchar外键不区分大小写

Aro*_*thu 8 c# sql-server entity-framework entity-framework-6

几年前,人们提出了以下问题:实体框架nvarchar外键上的案例敏感性.

简而言之,答案是:EF使用CLR来比较延迟加载的关联的键,并始终以区分大小写的方式执行此操作,即使数据库设置为不区分大小写的排序规则.

不幸的是,我目前参与的项目大量使用VARCHAR主键列.数据库排序规则不区分大小写.

修复数据库设计实际上不是一个选项,除了可能在主键列上设置CS排序规则(但这可能会破坏客户端应用程序).

所以我的问题是双重的:

  1. 现在,Entity Framework是否提供某种指令或设置,以指示它进行不区分大小写的比较?
  2. 如果没有,是否可以使用触发器自动更改外键以匹配主键的外壳?或者你能想到其他任何解决方法吗?

BTW:SQL Server 2008 R2和实体框架版本6.