我需要使用Fluent API和Entity Framework 5 Code First检索为字段指定的maxlength值。如何从运行时的Fluent API映射规范中获取MaxLength?
我已经看到了一些使用MetadataWorkspace的例子,但在使用Fluent API时它不起作用。 举例来说,我想这个代码,但对于MaxLenght值总是空:
ObjectContext.MetadataWorkspace.GetItem<GlobalItem>(typeof(TEntity).FullName, DataSpace.OSpace).MetadataProperties[field].TypeUsage.Facets["MaxLength"].Value
的流畅API配置文件,我有必要的属性以下代码中:
Property(t => t.Name).HasMaxLength(50);
我知道映射正在工作,因为如果我尝试在该字段中保存超过50个字符的对象,它将失败。
我只需要得到maxlenght值,但给一些角度来看,目标是指导:
- 创建新的Foo对象
- 获得使用流利的API栏属性定义的最大长度值。
- 将基于maxlength的特定规则应用于要分配给Bar的字符串。
- 保存。
在此先感谢。
你想让我们为你写吗? –
这不会是必要的,我只需要指导我可以使用什么库来获取maxlength值,代码已经完成,除了该部分。我只是编辑了这个问题来说清楚。谢谢。 – Kakaroto
'但它不起作用,当你使用Fluent API。什么不工作? –