我有多个应用程序都共享一些表(如地址,公司等),但有一些特定于产品的附加表(比方说,Personnel)。这就是数据库优先策略。
我希望能够从“核心”库(具有地址和公司)和产品(具有人员)共享实体框架生成的类。这将是为了避免定义重复的类。
我知道我可以通过一个包含多个上下文的存储库来掩盖所有这些,但是这不允许一个关键的事情(据我所知),来自Core模式的自动填充外键(IE:填充和查询Personnel.Company)。我可以扩展类Personnel(通过部分或扩展方法)从CompanyID列填充公司,但这不会被持久化,这意味着每次访问都会非常昂贵(除非我做错了什么?)
到目前为止,我已经阅读了几乎所有关于DBContext的内容,包括从Core DBContext派生Product的DBContext(通过改变t4模板),并希望它能神奇地设置值(遗憾的是,它没有' T)。真的,我希望我能在两个EDMX上指出T4模板并让它们神奇地工作,但我认为这不太可能。