.net 确保所有字符串属性在EF 6.2中都具有长度和unicode设置

.net 确保所有字符串属性在EF 6.2中都具有长度和unicode设置,.net,entity-framework,entity-framework-6,.net,Entity Framework,Entity Framework 6,有一个具有多个DbContexts的大型应用程序。跨多个项目有许多实体,每个表都有许多字符串属性。遗憾的是,字符串属性没有定义长度或unicode设置,导致SQL Server执行隐式参数转换,从而影响性能 我需要一种在没有完整映射的情况下查找所有这些属性的方法,如果可能的话,强制它们始终具有这样的设置 我正在考虑检索模型元数据,并检查所有映射的实体,以检查是否有一个最大长度和所有字符串的unicode设置。我只在if(DEBUG)时在OnModelCreating覆盖上运行此命令 实现这一目标

有一个具有多个
DbContext
s的大型应用程序。跨多个项目有许多实体,每个表都有许多字符串属性。遗憾的是,字符串属性没有定义长度或unicode设置,导致SQL Server执行隐式参数转换,从而影响性能

我需要一种在没有完整映射的情况下查找所有这些属性的方法,如果可能的话,强制它们始终具有这样的设置

我正在考虑检索模型元数据,并检查所有映射的实体,以检查是否有一个最大长度和所有字符串的unicode设置。我只在
if(DEBUG)
时在
OnModelCreating
覆盖上运行此命令

实现这一目标的最佳方式是什么?如何获取上下文的所有集合,并迭代其属性元数据