小编ben*_*obb的帖子

Orchard自定义模块 - 由NHibernate选择的模型 - 需要虚拟属性

我正在努力在Orchard CMS中构建自定义模块,我有以下控制器操作:

public ActionResult Inventory()
{
   var models = _repository.Get<MyModel>();
   return View(new MyViewModel() { MyModels = models.ToList() });
}
Run Code Online (Sandbox Code Playgroud)

现在,当Orchard构建它时,会发生异常,因为NHibernate已经选择了MyModel,因为它被视为PartRecord,我不希望这样.

方法get_Id应该是'public/protected virtual'或'protected internal virtual'.

我可以向属性添加虚拟,但我想避免让NHibernate在查看此对象时有任何部分,这是不必要的.

我的问题是,如何添加模型,在视图中访问该模型并禁止Orchard将其视为PartRecord?我实际上将模型用在一个独立的存储库中,与Orchard DB分开.

编辑:附加信息

_repository是一个IDbRepository,指向我自己的数据库实例MyModel是我的数据的POCO.我正在尝试避免将虚拟放在MyModel中的属性上,我将它们放在这里,以说明我试图避免它们的位置.

public interface IDbRepository : IDependency
{
    T Find<T>(long id) where T : class, IActiveRecord;
    bool Update<T>(T record) where T : class, IActiveRecord;
    bool Remove<T>(T record) where T : class, IActiveRecord;
}

public class MyModel : IActiveRecord
{
    [Key]
    public virtual long Id { get; set; }
    public virtual int SupplierProductId { …
Run Code Online (Sandbox Code Playgroud)

c# nhibernate orchardcms asp.net-mvc-3

2
推荐指数
1
解决办法
1564
查看次数

标签 统计

asp.net-mvc-3 ×1

c# ×1

nhibernate ×1

orchardcms ×1