问题标签 [modelmetadata]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
6143 浏览

c# - Get the column name from the database in entity framework 6 database first with different property name in mapping

I am into a situation that my table names are different from the class property on the model using mapping in EF 6. the Model and Database goes like this:

#xA;

which is equivalent to an AGENT class that has those properties. The problem is when i Try to get the primary Key using this code snippet:

#xA;

it returns the Property Name on the Mapping class. I want to get the "agent_cd"..which is the db column name.. Is there a way in EF6 to get the exact Column Name on the Db??

0 投票
1 回答
186 浏览

asp.net - 扩展 CachedDataAnnotationsModelMetadataProvider 以不缓存某些 DataAnnotations

我正在尝试扩展CachedDataAnnotationsModelMetadataProvider到不缓存 Custom ValidationAttribute。我怎样才能做到这一点?我尝试查看 aspnetwebstack,但答案太复杂了;我需要覆盖什么,作为受保护的覆盖

CachedAssociatedMetadataProvider<TModelMetadata>方法

被密封。有任何想法吗 ?

0 投票
1 回答
750 浏览

design-patterns - 我应该如何将元数据存储在对象中?

在我的 Java 应用程序中,我将一些数据以专有格式存储在多个文件中。在运行时,内容和一些元数据存储在一个对象中。在我目前的方法中,该类如下所示:

对象中存储的所有数据

另一种方法是将元数据和内容封装在它们自己的对象中:

在此处输入图像描述

这些方法的优点/缺点是什么?你会建议我使用哪一个?

谢谢!

编辑

元数据和内容存储在我懒加载的不同文件中。因此,如果没有请求,则对象的元数据或内容不可用。对象中没有特殊行为。只是吸气剂和二传手。

0 投票
2 回答
6318 浏览

asp.net - 为 .NET Core 中的类获取 ModelMetadata

在 Entity Framework 6 中,我可以像这样获取类 (myModel) 的 ModelMetadata:

如何在 .net core 1.1.1 中做同样的事情?

0 投票
1 回答
900 浏览

c# - 如何在 web api 中禁用模型中属性的必需属性?

如何禁用[Required]已在模型属性上设置的属性。

我尝试使用以下代码使用new关键字但不工作。

我也尝试override了关键字,但也没有用。

ChildModel使用其中的大部分属性,BaseModel而不是创建新的模型文件并编写许多类似的属性,我正在考虑做这样的事情。

任何简单的解决方案?

0 投票
0 回答
146 浏览

refresh - Entity Framework Core 元数据不同于模型和数据库。如何刷新?

我是使用 EF 的新手,但对我来说实现起来相对简单,当我需要更改模型时问题就来了。我创建了一个后来删除的列。但是,在运行时,ghost 列会导致 Invalid column 错误。

我已将此方法添加到我的上下文中以确认我的怀疑。

我尝试使用框架核心迁移工具,添加和删除列。这很好用,但是这些都没有摆脱对旧列的引用。

有没有办法重置这个?似乎旧版本的 EF 具有作为列的模式/定义生成的物理文件。有没有类似的东西我可以强制刷新?

0 投票
0 回答
263 浏览

c# - 使用自定义 HtmlHelper 运行测试时,涉及 TryValidateModel 的测试失败

我有一个 HtmlHelper 扩展方法的测试,当它是我运行的唯一测试时效果很好。它出现在下面。只要我不同时运行此测试,我的所有其他单元测试都会在我运行它们时成功。

但是当我一起运行这个和我所有的其他单元测试时,所有那些测试调用 System.Web.Mvc.Controller 的过程的那些。TryValidateModel在该行上失败(无论模型如何),但有以下例外:

System.InvalidCastException:无法将“Castle.Proxies.INicheUserProxy”类型的对象转换为“System.Web.Mvc.ModelMetadataProvider”类型。

所有调用 TryValidateModel 的测试都成功——除了下面的测试,它在过程的 ModelMetadata.FromLambdaExpression 行上失败并出现相同的异常(见下文)。

我认识到 ModelMetaData ...

“为通用元数据、ModelMetadataProvider 类和数据模型的 ModelValidator 类提供容器。” https://msdn.microsoft.com/en-us/library/system.web.mvc.modelmetadata(v=vs.118).aspx

...并且正在测试的程序是这样开始的...

...所以我担心在这个测试中弄乱 HtmlHelper 会影响(破坏?)其他所有测试的 ModelMetaData。

我在做什么导致这些测试在同一测试运行中失败(但在它们不是成功时)?我该如何纠正?

0 投票
1 回答
1680 浏览

c# - 如何在 razor 视图引擎中获取集合中项目的元数据?

C#在 ASP.NET MVC 5 框架的顶部编写了一个项目。我试图将我的视图与我的视图模型分离,以便我可以使我的视图可重用。通过大量使用,EditorTemplates我能够通过评估ModelMetadata模型上每个属性的数据注释属性和数据注释属性来创建所有标准视图(即创建、编辑和详细信息),然后渲染页面。我唯一感到困惑的是如何渲染Index视图。

我的索引视图通常接受一个IEnumerable<object>IPagedList<object>集合。在我看来,我希望能够评估集合中每个object/record 的 ModelMetadata 以确定是否object应该显示上的属性。

换句话说,我的视图模型看起来像这样

然后我的Index.cshtml视图将接受IPagedList<DisplayPersonViewModel>集合中的每条记录,我想显示用属性修饰的ShowOnIndexView属性的值。

通常,我可以用类似这样的方法在我的视图中评估 ModelMetadata

然后我的控制器看起来像这样

然而,评估的问题ModelMetadata在于IPagedList<DisplayPersonViewModel>它给了我关于集合本身的信息,而不是关于集合中的泛型类型或单个模型的信息。换句话说,我得到诸如总页数、每页项目数、总记录数之类的信息。

问题

如何访问ModelMetadata集合中每一行的信息,以便能够知道要显示哪些属性,哪些不显示?

0 投票
0 回答
51 浏览

asp.net-mvc - 使用什么表达式我可以从集合中获取单个项目的 ModelMetadata 信息?

我有一个在 Asp.Net MVC 5 之上使用 C# 编写的应用程序。

我有以下型号

我希望能够在CheckBoxListItem集合中获取一天的模型元数据Days

我尝试了以下方法来获得当天收藏的第一天

但是上面没有返回 ModelMetadata。

以下代码按预期返回整个集合。

用于获取集合中单个项目的 ModelMetadata 的正确表达式是什么?

0 投票
1 回答
150 浏览

spring-batch - Spring Batch 元数据数据库事务问题

我正在使用 Spring Batch(版本 4.1.2)。问题如下:

1/批处理作业是面向步骤的(2个步骤),第一步从oracle数据库加载数据(客户订单-唯一的少量数据),过滤它们以进行进一步处理并将结果存储到内存对象中(orderNo -即在第二步处理这个订单)

2/ 第二步从内存中获取这些过滤后的数据并处理它们 - 加载数据(现在是全量数据,全顺序)并处理它们 - 在 oracle 中启动存储过程,然后调用一些外部 Web 服务

第一步非常快 - 大约。5 秒。

第二步非常慢 - 对于每个客户订单,大约需要。10 秒。

数据的典型大小:第一步加载大约数千个订单和过滤器。100-300个订单在第二步做进一步处理。

第一步的配置:100 个订单的块

第二步的配置:chunk = 1

还有问题:如果第二步(调用web服务)失败,元数据库事务会因为超时而失败。或者,如果作业正常完成,元数据数据库将再次因超时而失败。为什么?事务超时设置为 30 秒。在我看来,元数据库的事务不受块配置的影响。

注:订单数据库:oracle,元数据库:postgresql

请问有什么建议、解决方案等吗?