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

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);
}

原文地址:https://www.jb51.cc/csharp/243954.html

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

相关推荐