C# 如何在Orchard中获取用户创建日期?
我试图从我的Orchard项目中提取创建的UTC值,但我一直得到“objectisnull” 这是我的密码C# 如何在Orchard中获取用户创建日期?,c#,asp.net-mvc,orchardcms,orchardcms-1.7,C#,Asp.net Mvc,Orchardcms,Orchardcms 1.7,我试图从我的Orchard项目中提取创建的UTC值,但我一直得到“objectisnull” 这是我的密码 IUser loggedOnUser = _orchardServices.WorkContext.CurrentUser; var userCreatedDate = loggedOnUser.As<CommonPart>().CreatedUtc; IUser loggedOnUser=\u orchardServices.WorkContext.CurrentUser;
IUser loggedOnUser = _orchardServices.WorkContext.CurrentUser;
var userCreatedDate = loggedOnUser.As<CommonPart>().CreatedUtc;
IUser loggedOnUser=\u orchardServices.WorkContext.CurrentUser;
var userCreatedDate=loggedOnUser.As().CreatedUtc;
当它到达第二行时,抛出异常“对象引用未设置为对象的实例”
看看这个,我的代码应该可以正常工作。
User
内容项只包含一个UserPart
。如果需要访问创建/修改的日期,则需要通过数据迁移将公共部分
附加到该日期,如下所示:
public int Create() {
ContentDefinitionManager.AlterTypeDefinition("User", cfg => cfg.WithPart("CommonPart));
return 1;
}
请记住,它不会自动影响现有用户-您必须逐个检查这些用户,然后单击“保存”以创建零件。那么
loggedOnUser
null是否也是如此?或者,.As
失败了?loggedOnUser很好,但它似乎是。抛出例外的情况是,它是否附加了公共部分?它似乎没有,但我可以做的是更新迁移并创建一个新的迁移,它将只存储它而不是。是的,我这样做了,我运行了一个查询来更新所有空的创建日期:),为help@PiotrSzmyd,上面的线是否经过测试?我记得有一个循环引用问题。@Genius先生,是的,我也记得,但我想它已经被修复了。