gpt4 book ai didi

asp.net - 尝试添加映射文件时ASP.NET脚手架出现问题

转载 作者:行者123 更新时间:2023-12-04 04:11:12 25 4
gpt4 key购买 nike

具体来说,我正在尝试使用Microsoft脚手架,WebAPI 2.1,MVC 5.1.1和Visual Studio 2013 Update 2 RC来脚手架WebAPI Controller 。我注意到,当我尝试在上下文中添加如下所示的映射文件时,当脚手架运行时,我只会收到错误消息,只有。我已经尝试了所有可以想到的方法,但是在添加这样的行时仍然可以看到消息:

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Configurations.Add(new AnswerMap());

脚手架花了10秒钟或更长时间后,在对话框中给我以下错误消息:
    Error
There was an error running the selected code generator:
'Exception has been thrown by the target of an invocation'

在网络上检查造成这种情况的原因,我看到了许多不同的解决方案,但没有一个对我有帮助。阻止此错误的大多数解决方案似乎都涉及,退出,重新开始,重建或事物的组合。有些用户似乎甚至无法解决问题。如果我无法找到有关问题的更多信息,那真的很困难。

希望有人可以将我指向可以找到日志文件的地方,或者就如何解决此问题给我一些建议。

请注意,我已经查看过:

Visual Studio 2013 Scaffolding Error

这里没有任何帮助。我已经重新安装了脚手架几次。如果我不添加映射文件,问题就消失了;如果我再次添加它,问题又回来了。当我只使用上下文时,一切正常。

这是我用于上下文的代码
using Data.Mapping.Enum;
using Entities.Models.Enum;
using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Diagnostics;
using System.Data.Entity.ModelConfiguration.Conventions;
using System.Linq;
using System.Web;
using Entities.Models.Core;
using System.Data.Entity.ModelConfiguration;
using System.ComponentModel.DataAnnotations.Schema;

namespace WebRole1.Models
{
public partial class testCertContext1 : DbContext
{
public testCertContext1()
: base("name=testCertContext1")
{
}
public DbSet<Answer> Answers { get; set; }

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Conventions.Remove<OneToManyCascadeDeleteConvention>();
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
modelBuilder.Configurations.Add(new AnswerMap2());
}
}

public class AnswerMap2 : EntityTypeConfiguration<Answer>
{
public AnswerMap2()
{
// Primary Key
this.HasKey(t => t.AnswerId);

// Identity
this.Property(t => t.AnswerId)
.HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity);

// Table & Column Mappings
this.ToTable("Answer");
this.Property(t => t.AnswerId).HasColumnName("AnswerId");
this.Property(t => t.Text).HasColumnName("Text");

}
}
}

最佳答案

我有一个类似的问题。
在我的情况下,问题是我将连接字符串保存在另一个文件中,该文件不同于传统的web.config文件,以避免将其保存在我的Git存储库中。就像是:

  <connectionStrings configSource="cstring.config"/>

即使已在其他文件中正确配置了它,也似乎该脚手架无法解决转换。
最后,他只是找不到数据库。
因此,我的解决方法是:
-在web.config中复制数据库连接字符串
-脚手架
-返回以前的状态。

希望能有所帮助

关于asp.net - 尝试添加映射文件时ASP.NET脚手架出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23109594/

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