"Update model from database"



我正在使用Visual Studio并开发基于MVC的应用程序。我正在尝试向我的模型添加一些表。我使用了选项"从数据库更新模型"。新表出现在我的 edmx 文件中。我已经重建了我的解决方案,但缺少新表的类。每次我想添加新表时,有什么技巧可以生成类吗?还是我必须手动完成?当我将"代码生成策略"设置为"默认"时,我收到数百个类似于这个Error 117 The type 'Mvc4.Models.DPR_MM' already contains a definition for 'DPR_TS'的错误。
我已经删除了整个模型。在搜索整个解决方案以查找DPR_MM时,我得到了以下结果:查找所有"DPR_MM"、子文件夹、查找结果 1、整个解决方案、"

  C:\Mvc4ControllersHomeController.cs(41):                    var DPR_MM = from d in ctx.DPR_MM
  C:\Mvc4ControllersHomeController.cs(45):                    var arr = new object[DPR_MM.Count()];
  C:\Mvc4ControllersHomeController.cs(47):                    foreach (var d in DPR_MM)
  C:\Mvc4ModelsModel1.edmx(9):          <EntitySet Name="DPR_MM" EntityType="Model.Store.DPR_MM" store:Type="Tables" Schema="QF" />
  C:\Mvc4ModelsModel1.edmx(45):        <EntityType Name="DPR_MM">
  C:\Mvc4ModelsModel1.edmx(366):          <EntitySet Name="DPR_MM" EntityType="Model.DPR_MM" />
  C:\Mvc4ModelsModel1.edmx(389):        <EntityType Name="DPR_MM">
  C:\Mvc4ModelsModel1.edmx(715):          <EntitySetMapping Name="DPR_MM">
  C:\Mvc4ModelsModel1.edmx(716):            <EntityTypeMapping TypeName="Model.DPR_MM">
  C:\Mvc4ModelsModel1.edmx(717):              <MappingFragment StoreEntitySet="DPR_MM">
  C:\Mvc4ModelsModel1.edmx.diagram(8):        <EntityTypeShape EntityType="Model.DPR_MM" Width="1.5" PointX="0.75" PointY="0.75" IsExpanded="true" />
  Matching lines: 11    Matching files: 3    Total files searched: 168

所以我没有看到任何DPR_MM类。我做错了什么?

Edit

现在我知道您收到错误,请查看生成的代码(您甚至可以对类DPR_MM进行解决方案搜索以查找此类的所有实例)。 我猜你的项目中有一个类Mvc4.Models.DPR_MM,它已经DPR_TS为成员,代码生成看到它并且不会生成另一个,如下所示:

public partial class DPR_MM : EntityObject
{
    public global::System.Int32 DPR_TS
    {
    ...
    }
}
public partial class DPR_MM : EntityObject
{
    //maybe code generation fails because it doesn't want to do this a second time knowing it would be ambiguous 
    public global::System.Int32 DPR_TS  
    {
    ...
    }
}

除非存在某些数据库或命名空间问题,否则您应该始终能够生成新模型,因此请确保您没有像@Mamu所说的那样放置额外的文件。或者你可以谷歌一下:
第一击
另一个答案





初步答案

做一个构建。然后,您应该看到基于"从数据库更新模型"时选择的表的所有新类(显然,您必须在"从数据库更新模型"时选择新表)

最新更新