1

我正在做一个代码第一个ASP .NET MVC项目。Model.GetType()。名称附加了什么看起来像GUID

在我看来,我正在考虑实体。

@model MyProject.Model.MyEntity 

在视图中,我呈现了一个局部视图,传入了模型。

@Html.Partial("_Edit", Model) 

在这个局部视图中,我将模型定义为一个对象。

@model object 

当我显示模型的类型时,我得到了一个GUID附加到它。

@{ 
    Type entityType = Model.GetType(); 
    string singularName = entityType.Name; 
} 

@{ ViewBag.Title = "Edit an existing " + singularName; } 

这是我在屏幕上看到:

编辑现有MyEntity_CB3FF0C41867D7757E4AF90F10EE2F7ED5B407EFCB96592EC3FB0A06DCAB902B

任何人都知道为什么,是有办法解决它比做上下划线一个SubString()其他?

回答

3

此问题植根于实体框架而不是MVC x。

我遇到了同样的问题,并打印出来我的模型(“SupportContactSecurity”)的全名:

System.Data.Entity.DynamicProxies.SupportContactSecuri_4C68726A6CC129D0001F286F1E38612D8DEC28F26CA3D3884B53BCDF810D8E6A 

DynamicProxies身临其境的关键字。实体框架(默认情况下)使用这些代理替换您的实体,以便它可以在上下文级别更改跟踪(我认为)。如果您想关闭此功能,请参阅this Stack Exchange question

相关问题