Orchard Custom Module - Modelo sendo escolhido pelo NHibernate - Exigindo propriedades virtuais
Estou trabalhando na construção de um módulo personalizado no Orchard CMS e tenho a seguinte Ação do Controlador:
public ActionResult Inventory()
{
var models = _repository.Get<MyModel>();
return View(new MyViewModel() { MyModels = models.ToList() });
}
Agora, quando o Orchard cria isso, ocorre uma exceção, porque o NHibernate pegou o MyModel porque está sendo visto como um PartRecord, o que eu não quero que sej
A exceção é o método get_Id deve ser 'virtual / público protegido' ou 'virtual interno protegido'
Eu posso adicionar virtual às propriedades, mas quero evitar que o NHibernate faça parte da observação desse objeto, pois é desnecessári
Minha pergunta é: como posso adicionar um modelo, acessar esse modelo em uma exibição e impedir que Orchard o trate como um PartRecord? Na verdade, eu uso o modelo em um repositório separado, separado do Orchard D
EDIT: informações adicionais
_repository é um IDbRepository, apontando para minha própria instância de banco de dados MyModel é um POCO para meus dados. Estou tentando evitar colocar virtual nas propriedades do MyModel, tenho aqui, para ilustrar onde estou tentando evitá-las.
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 { get; set; }
public virtual int SupplierId { get; set; }
public virtual int ProductId { get; set; }
}
Além disso, meu módulo possui uma parte de configurações que eu criei, que é armazenada no Orchard DB e é editada nas configurações do site. Estou usando um manipulador para controlar isso. No entanto, tentei remover o manipulador e algumas outras coisas para impedir que o Orchard levasse meu objeto para o NHibernat