具有Entity Framework Code Only和ASP.NET MVC的模块化应用程序
|
模块化应用程序是指可以在不修改核心应用程序代码的情况下扩展基本功能和数据模型的应用程序. 这是一种流行的方法,例如.像SugarCRM或VTiger这样的开源CRM. 在asp.net mvc应用程序中可以使用区域或(来自MVC contrib的可移植区域)遵循这种方法,这允许在单独的程序集中添加新的控制器和视图,而不会影响核心dll. 当想要扩展基础应用程序的数据模型时,就会出现问题.在实际框架中,模型定义集中在Edmx文件中是不可能的.此方法不允许添加将引用新程序集中的某个基本模块表的新表. 我注意到,Orchard CMS通过使用nHibernate实现了完全的模块化(这是有说服力的,因为他们有微软的支持并且该项目被视为技术展示).由于POCO方法,Nhibernate允许这种模块化.每个实体/表都在一个单独的文件中定义,这显然是模块化应用程序的方式. 然而,对于Entity Framework Code Only方法存在希望,该方法使用POCO定义在运行时生成Edmx模型.有没有人尝试过这种方法在单独的可插拔项目中分发数据模型的定义? 解决方法我使用EF Code First和核心模块上的GUI扩展点组合实现了这一点.结果是:>每个模块都被视为独立应用程序(GUI除外) 请注意,这是我们为SOA设计的企业应用程序. 使用EF Code First,如果您手动管理数据库(即不要删除和重新创建),您可以采用上面的一些概念并简化它.您可能需要一个自定义IDatabaseInitializer来支持它,但它应该是可能的. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net – 当DataSource中没有数据时,DetailsView不可见
- ASP.NET身份验证登录和退出浏览器返回按钮
- asp.net-mvc-3 – 模型绑定逗号分隔的查询字符串参数
- asp.net-mvc-3 – 为什么抛出NULL值异常?
- asp.net – 编程控制输出缓存 – 根据参数值禁用或启用缓存
- asp.net – ReportViewer超时,尽管超时设置
- 为什么我的ASP.NET MVC持久性的auth cookie不起作用?
- asp.net – 如何在mvc中使用多个选择4?
- asp.net-mvc – ASP.NET MVC:除了IE之外,我如何向所有浏览
- asp.net-mvc – 在MVC中使用ViewModels进行POST操作
- jqgrid与asp.net webmethod和json使用排序,分页,
- asp.net – 从承载令牌(Web API)获取自定义声明值
- asp.net-mvc – 有什么图形设计器ASP.NET MVC吗?
- asp.net – WebMethod以JSON格式返回值
- asp.net – 如何在回发上保持变量
- asp.net-mvc – ASP.NET MVC控制器的[Authorize]
- asp.net – 如何保护应用程序池免受会话序列化异
- asp.net-mvc – 无法更改关系,因为一个或多个外键
- .NET图表控件 – 轴X文本旋转
- asp.net-mvc-3 – ASP.NET MVC3 WebGrid – 自定
