Orchardcms 如何在自己的记录中保存用户引用

Orchardcms 如何在自己的记录中保存用户引用,orchardcms,orchardcms-1.7,Orchardcms,Orchardcms 1.7,我在这里试图实现的是将当前用户实例保存在我的ApiConfigurationRecord表中。我已经在互联网上搜索过了,大多数例子都是使用UserPartRecord。但是我遇到的麻烦是获取UserPartRecord对象本身 这是我的实体类,看起来像: public class ApiConfigurationRecord { public virtual int Id { get; set; } public virtual string Name { get; set;

我在这里试图实现的是将当前用户实例保存在我的ApiConfigurationRecord表中。我已经在互联网上搜索过了,大多数例子都是使用UserPartRecord。但是我遇到的麻烦是获取UserPartRecord对象本身

这是我的实体类,看起来像:

public class ApiConfigurationRecord
{
    public virtual int Id { get; set; }

    public virtual string Name { get; set; }

    public virtual UserPartRecord RegisterBy { get; set; }
}
这是我的Migration.cs代码,看起来像:

    public int Create()
    {
        SchemaBuilder.CreateTable("ApiConfigurationRecord", table => table
            .Column<int>("Id", column => column.PrimaryKey().Identity())
            .Column<int>("RegisterBy_id")
            .Column<string>("Name", column => column.NotNull())
            );

        return 1;
    }
public int Create()
{
CreateTable(“ApiConfigurationRecord”,table=>table
.Column(“Id”,Column=>Column.PrimaryKey().Identity())
.列(“注册表项id”)
.Column(“名称”,Column=>Column.NotNull())
);
返回1;
}
这是我的动作控制器代码:

    public ActionResult Test()
    {
        var userId = this._orchardServices.WorkContext.CurrentUser.Id;
        // below code got error: The non-generic method IContentManager.Query() cannot be used with type arguments
        this._orchardServices.ContentManager.Query<UserPart, UserPartRecord>().Where(u => u.Id == userId);

        return null;
    }
公共操作结果测试()
{
var userId=this.\u orchardServices.WorkContext.CurrentUser.Id;
//以下代码出现错误:非泛型方法IContentManager.Query()不能与类型参数一起使用
这是.u orchardServices.ContentManager.Query(),其中(u=>u.Id==userId);
返回null;
}

我在这个问题上纠缠了好几个小时。需要知道如何保存这个用户关系对象,最重要的是,获取对象本身。请指导我。

我的超能力告诉我,您的控制器文件顶部缺少以下内容:

using Orchard.ContentManagement;
查询
方法的通用版本是此命名空间中的扩展方法。

或者您可以这样做

_orchardServices.WorkContext.CurrentUser.As<UserPart>().Record;
使用.As扩展方法

using Orchard.ContentManagement;