【问题标题】:Multiple Projects in a solution - Entity Framework and ASP.Net MVC 4解决方案中的多个项目 - 实体框架和 ASP.Net MVC 4
【发布时间】:2023-03-18 15:38:01
【问题描述】:

对于一个学校项目,我正在构建一个必须拆分为多个项目的应用程序。

将创建的项目是类库、wcf 服务和 asp.net MVC4 应用程序。

类库将是状态库、无状态库和数据逻辑库。

理想的实体框架应该在datalogic库中,生成的模型应该放在状态库中,无状态的类包含保存这些模型的静态方法。

但是,我似乎无法将 Entity Framework (v5) 生成的模型导入另一个类库 (State)。有没有办法做到这一点?还是我想错了,我应该使用其他架构吗?

这个问题解决了: Entity Framework 5 and Visual Studio 2012 POCO Classes in Different Project

仍然欢迎提供有关架构的建议:

如果我的结构被证明是错误的或效率不如建议的那样,我愿意改变这种结构。

(我可能需要提供的其他信息是 WCF 服务将通过无状态库的方法,而 ASP.Net MVC4 应用程序正在使用这些方法来获取模型和一些控制器功能)

【问题讨论】:

  • 您是否根据需要添加对各种项目的引用?
  • 我们做了类似的事情,但使用 CodeFirst EF 而不是 db/modelfirst
  • 您在使用 EF DbContext POCO 生成器吗?然后在不同的程序集中拥有 .edmx 上下文和 poco 模型是相当直接的 - msdn.microsoft.com/en-US/data/jj206878
  • 拥有数据库并不妨碍您使用 codefirst。我个人基于数据库手工制作 POCO 类,如果我想在模型中以不同方式表示它,则使用模型构建器。但是,您也可以使用 CodeFirst 生成器从现有数据库生成 codefirst 模型。
  • 首先使用数据库或代码优先是一个偏好问题,在 IMO 中并不是真正的问题。正如@NeilThompson 建议的那样,使用 POCO 应该可以轻松分离模型和上下文

标签: c# wcf entity-framework asp.net-mvc-4


【解决方案1】:

(这样你就可以标记答案)

您使用的是 EF DbContext POCO 生成器吗?

在不同的程序集中拥有 .edmx 上下文和 poco 模型是相当直接的 - msdn.microsoft.com/en-US/data/jj206878 -

正如您所发现的 - Entity Framework 5 and Visual Studio 2012 POCO Classes in Different Project 上的这篇文章很好地解释了该过程。

Julie Lerman 在她的书籍和课程中也有 downloadable solutions,其中展示了 POCo T4 模板和许多其他良好实践

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-03
    • 2012-05-17
    • 2011-10-23
    相关资源
    最近更新 更多