public partial class SystemUser
{
[Display(Name = "User")]
public string Username { get; set; }
[Display(Name = "Pass")]
public string Password { get; set; }
public Nullable<bool> Type { get; set; }
}
使用此语句从数据库查询时,数据注释正常工作:
context.SystemUsers.ToList();
但是当我使用&#39; new&#39;我的查询中的关键字,数据注释会被自动忽略。
context.SystemUsers.Select(u=> new
{
u.Username,
u.Type
});
我想使用我告诉的第二个查询,并防止数据注释被忽略 什么是解决方案?
答案 0 :(得分:0)
如果您需要数据注释,请按以下方式编写:
context.SystemUsers.Select(u=> new SystemUser
{
u.Username,
u.Type
});
因为您已在SystemUser
视图模式中提供了详细信息,并且如果仅使用new
创建,则会创建不包含数据注释的匿名对象。
答案 1 :(得分:0)
当我在查询中使用'new'关键字时,会自动忽略数据注释
这些数据注释仅在<h1 class="title">&{'login.title'}</h1>
类型上表示。但是您的@import play.i18n._
<h1>@Messages.get("login.title")</h1>
子句正在将对象转换为新的匿名类型。它可能具有与SystemUser
相同的直观结构(相同的属性名称/类型/等),但作为静态类型语言,它绝对是不一个.Select()
对象。
要使用SystemUser
类型,您必须选择该类型:
SystemUser