c# – 更改所有字符串属性的最大长度

在EF 6中,我可以这样做:
modelBuilder
  .Properties()
  .Where(p => p.PropertyType == typeof(string) && 
              p.GetCustomAttributes(typeof(MaxLengthAttribute),false).Length == 0)
  .Configure(p => p.HasMaxLength(2000));

由于EF7 ModelBuilder没有Properties()函数,我如何在EF7中做同样的事情?

解决方法

我认为这是EF Core中“仍然缺乏”的功能之一,并期望在以后的版本中添加它.

在那之前,我能建议的最接近(对于v1.1.0)如下:

foreach (var p in modelBuilder.Model
    .GetEntityTypes()
    .SelectMany(t => t.GetProperties())
    .Where(p => p.ClrType == typeof(string) && p.GetMaxLength() == null))
{
    p.SetMaxLength(2000);
}

相关文章

在要实现单例模式的类当中添加如下代码:实例化的时候:frmC...
1、如果制作圆角窗体,窗体先继承DOTNETBAR的:public parti...
根据网上资料,自己很粗略的实现了一个winform搜索提示,但是...
近期在做DSOFramer这个控件,打算自己弄一个自定义控件来封装...
今天玩了一把WMI,查询了一下电脑的硬件信息,感觉很多代码都...
最近在研究WinWordControl这个控件,因为上级要求在系统里,...