【发布时间】:2010-05-03 21:13:17
【问题描述】:
我在我的 ASP.Net MVC 应用程序中使用 NHibernate。 我正在为我的应用程序编写一些扩展(插件)。我正在动态加载这些插件(来自不同的程序集)。 在我的基础应用程序中,我定义了许多实体和映射(用户、组等)
我需要在我的扩展中创建新实体,即我正在创建新闻模块,所以我需要创建新闻映射。 在数据库中,News 表有一个 User 表的外键。 有什么办法可以修改我的用户映射,所以它会有:
HasMany(x => x.News)
.KeyColumn("UserId")
.Inverse();
或者唯一的方法是更改我的用户类中的代码并重新编译项目?
我不是 NHibernate 高级用户,因此我们将不胜感激。 TIA。
【问题讨论】:
-
errr,你想动态添加一个属性给用户吗?
-
是的,我想是这样的;)也许有完全不同的方法来实现这一点。
-
映射被创建一次,在应用程序启动时,你知道你的实体的结构吗?
-
好吧,我不知道我是否正确理解了您的问题:) 我正在 Application_Start 方法(全局 asax)中创建所有映射。我所有的扩展/插件都是在应用程序启动时加载的。
-
我也在寻找这个的答案。 nhibernate 是否有可能在不触及“主”地图的情况下从另一个地图中扩展实体?
标签: c# asp.net-mvc nhibernate fluent-nhibernate