是否有一个允许“插件”扩展数据库的ORM?

时间:2010-05-18 20:27:59

标签: entity-framework orm

所以,我一直在寻找答案,但我找不到任何东西

我有一个实体框架模型(MyModel1) - 现在,我们会说这包含一个“用户”表

它是一个大应用程序的一部分,它引用了“地址”项目

地址项目包含一个实体框架模型(MyModel2),它包含一个Users表和一个Addresses表(指向同一个数据库。

主应用程序有一个控件可以编辑用户,在该控件中它有一个“地址”控件实际存在于“地址”项目中。

为了使这项工作,用户控件将User对象传递给地址控件,但是,由于传递的用户属于MyModel1而不是MyModel2,因此必须加载另一个User对象,然后才能使用它

这不太理想,因为我不得不两次加载用户。有没有办法说,MyModel2扩展了MyModel1,它实际上只是为“User”添加了一个关系。或者是否有一个可以更好地处理这个问题的ORM?或者甚至是一种可以更好地处理这种情况的设计模式?

2 个答案:

答案 0 :(得分:0)

我发现了Fluent NHibernate,这似乎让我能够更好地控制数据层的组合方式,通过一些非常疯狂的代码,我能够以插件的方式扩展实体,非常酷#/ p>

答案 1 :(得分:-1)

听起来今天你有一个项目,包括UI,业务逻辑和数据访问逻辑。

更好的方法是将您的数据访问层放入与业务逻辑和UI分开的单个项目中。创建一个包含用户和地址的EDMX,并提供一个可用于处理整个过程的ObjectContext。

看一下Repository模式。