gha*_*ndi 5 c# validation entity-framework-core
我有一个代码优先 EF Core 模型。某些列使用HasMaxLength(X)流畅语法来限制这些列的长度。目前这些限制仅由数据库强制执行,我想在访问数据库之前找出字符串何时变得太长。
流畅的配置示例:
modelBuilder.Entity<SomeEntity>(entity =>
{
entity.Property(p => p.SomeStringProperty)
.HasMaxLength(200);
});
Run Code Online (Sandbox Code Playgroud)
HasMaxLength现在,当我手头只有一个 DBContext 时,我想在运行时获取该值。有可能吗?
正在思考类似的事情:ctx.Set<SomeEntity>.SomeStringProperty.MaxLength()。
思考类似的事情:
ctx.Set<SomeEntity>.SomeStringProperty.MaxLength()
几乎。只是DbSet<T>您不需要使用 EF Core 模型元数据服务,先关注Context.Model属性,然后FindEntityType,GetProperties或FindProperty等等,例如
ctx.Model.FindEntityType(typeof(SomeEntity))
.FindProperty(nameof(SomeEntity.SomeStringProperty))
.GetMaxLength()
Run Code Online (Sandbox Code Playgroud)
参考: Microsoft.EntityFrameworkCore.Metadata 命名空间
| 归档时间: |
|
| 查看次数: |
851 次 |
| 最近记录: |