在应用程序运行时扩展实体框架模型
对于业务应用程序,我提供一个基本实体模型。此后,最终用户应该能够根据其特定需求扩展模型。
对于基本模型,我想使用数据库优先的方法。但我不知道如何允许用户扩展它。
一方面是提供用于实体模型编辑的UI,另一方面是反映此后模型和数据库中的更改。请提出建议。
编辑:
- 编辑并保存实体模型后,所有 EF 设施都应该像以前一样工作。
- 模型更新是在维护时进行的,即不被业务用户使用。
- 可以编译受影响的项目,并可以生成新的程序集并投入使用。
For a business application, I am providing a base entity model. Thereafter the end user should be able to extend the model for his specific needs.
For the base model I want to use database-first approach. But I don't know how to accommodate for allowing user to extend it.
One part is to provide a UI for entity model editing and the other is to reflect the changes in the model and database thereafter. Please offer suggestions.
EDIT:
- Once the entity model is edited and saved, all EF facilities should work like before.
- Model update is conducted at the time of maintenance, i.e., it is not in use by business users.
- The affected project can be compiled and a new assembly can be produced and put to use.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这是不可能的。当你修改实体模型时,你必须修改相关的实体类(或创建新的)=>您必须重新编译应用程序或使用一些动态程序集。此外,没有 API 可以在运行时修改实体映射,因此您将构建新的实体设计器。
这通常与在客户端桌面上安装 C# 2010 Express 并允许它们修改、重建和重新部署您的应用程序的要求相同。
编辑:
您想要的需要:
It is not possible. When you modify entity model you must modify related entity classes (or create new ones) => you must recompile application or use some dynamic assemblies. Moreover there is no API to modify entity mapping at runtime so you are going to build new Entity designer.
It is generally same requirement as installing C# 2010 Express on client desktops and allowing them to modify, rebuild and redeploy your application.
Edit:
What you want requires: