gpt4 book ai didi

entity-framework - 不同项目中的Entity Framework 5和Visual Studio 2012 POCO类

转载 作者:行者123 更新时间:2023-12-03 11:44:21 24 4
gpt4 key购买 nike

在VS 2010和EF 4.4中,当在Entity Framework中使用DBContext生成器时,便能够移动和编辑.tt文件,这样POCO可以位于与DBContext文件不同的项目中。

有关我在说什么的示例,请参见HereHere

在VS2012 / EF5中,这似乎是不可能的。 POCO类在EDMX文件下作为子项目生成。无法从Visual Studio中复制文件。从资源管理器移动文件无济于事,因为在编译时会重新创建您移动的文件。

我在这里缺少基本的东西吗?

我没有在EF5中使用任何代码生成项(而我在EF4.x中使用过)。这有什么区别吗?

最佳答案

在Visual Studio 2012中,当您添加ADO.NET实体数据模型(* .edmx)时,它包括用于上下文和模型类的T4模板,作为EDMX文件的子项。例如,如果添加MyModel.edmx,它将具有4个子项,如下所示:

  • MyModel.Context.tt
  • MyModel.Designer.cs(在C#项目中)
  • MyModel.edmx.diagram
  • MyModel.tt

  • MyModel.tt生成POCO实体作为子项。要在单独的项目中生成实体,请执行以下步骤:
  • 创建一个单独的类项目。
  • 添加新项目,选择“EF 5.x DbContext Generator”模板。这将创建* .tt文件。例如MyModel.tt。
  • 如下编辑模板文件:
    const string inputFile = @"MyModel.edmx"; // old value (remove)
    const string inputFile = @"..\MyOtherProjectName\MyModel.edmx"; // new value
  • 在另一个项目中,展开EDMX文件,然后右键单击MyModel.tt,选择Delete。

  • 而已。你完成了。现在,您将模型和上下文放在一个项目中,将实体放在另一个项目中。

    关于entity-framework - 不同项目中的Entity Framework 5和Visual Studio 2012 POCO类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12375090/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com