简体   繁体   English

使用实体框架自动生成控制器/模型时出错-Web.Config

[英]Error Auto Generating Controller / Model with Entity Framework - Web.Config

Im having a problem with the auto generated views from the code first entity framework. 我在从代码优先实体框架自动生成的视图中遇到问题。 I believe I have a problem with my database, but I can't figure it out. 我相信我的数据库有问题,但我无法解决。 添加控制器 添加控制器2 控制器错误

I am trying to do this intially with my BoringBar.cs class, but I get the same error for all of my classes. 我正在尝试使用BoringBar.cs类进行此初始化,但是对于所有类我都遇到相同的错误。 Here is the BoringBar.cs class. 这是BoringBar.cs类。

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Web;


namespace SetupSheet.Models.CollectionofTool
 {
  [Table("BoringBar")]
  public class BoringBar : Tool
  {
    [Required]
    [Display(Name = "Boring Bar Diameter")]
    public double BarDiameter { get; set; }

    [Required]
    [Display(Name = "Minimum Hole Diameter for Bar Clearance")]
    public double MinimumHoleDiameter { get; set; }

    [Required]
    public double Radius { get; set; }

    [Required]
    [Display(Name = "Maximum Z Depth")]
    public double MaximumZDepth { get; set; }

    [Required]
    [Display(Name = "Lead Angle")]
    public double LeadAngle { get; set; }
 }
}

As well here is my DbContext File that I am using, Datamodel.cs. 这也是我正在使用的DbContext文件Datamodel.cs。

using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Linq;
using System.Web;
using SetupSheet.Models;
using SetupSheet.Models.CollectionofTool;
using SetupSheet.Models.CollectionofRawMaterial;
using Microsoft.AspNet.Identity.EntityFramework;

namespace SetupSheet.Models
{

public class DataModel : IdentityDbContext<ApplicationUser>
{
    public DataModel()
        : base("DefaultConnection")
    {
    }
    public DbSet<SetupSheet> SetupSheets { get; set; }
    public DbSet<Tool> Tools { get; set; }
    public DbSet<TurningTool> TurningTools { get; set; }
    public DbSet<BoringBar> BoringBars { get; set; }
    public DbSet<IDGroover> IDGroovers { get; set; }
    public DbSet<ODGroover> ODGroovers { get; set; }
    public DbSet<PartingTool> PartingTools { get; set; }
    public DbSet<Drill> Drills { get; set; }
    public DbSet<IDThreader> IDThreaders { get; set; }
    public DbSet<ODThreader> ODThreaders { get; set; }
    public DbSet<Endmill> Endmills { get; set; }
    public DbSet<Stop> Stops { get; set; }
    public DbSet<Reamer> Reamers { get; set; }
    public DbSet<RawMaterial> RawMaterials { get; set; }
    public DbSet<Round> Rounds { get; set; }
    public DbSet<Square> Squares { get; set; }
    public DbSet<Sheet> Sheets { get; set; }
    public DbSet<Hexagonal> Hexagonals { get; set; }
    public DbSet<Tube> Tubes { get; set; }
    public DbSet<Transaction> Transactions { get; set; }

  }
}

Here is my web.config file, defining the connections. 这是我的web.config文件,用于定义连接。

 <?xml version="1.0" encoding="utf-8" ?> <!-- For more information on how to configure your ASP.NET application, please visit http://go.microsoft.com/fwlink/?LinkId=152368 --> <configuration> <configSections> <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 --> <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" /> </configSections> <connectionStrings> <add name="DefaultConnection" providerName="System.Data.SqlClient" connectionString="Data Source=(LocalDb)\\v11.0;Initial Catalog=aspnet-MvcApplication1-20160306200318;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\\aspnet-MvcApplication1-20160306200318.mdf" /> </connectionStrings> <appSettings> <add key="webpages:Version" value="2.0.0.0" /> <add key="webpages:Enabled" value="false" /> <add key="PreserveLoginUrl" value="true" /> <add key="ClientValidationEnabled" value="true" /> <add key="UnobtrusiveJavaScriptEnabled" value="true" /> </appSettings> <system.web> <httpRuntime targetFramework="4.5" /> <compilation debug="true" targetFramework="4.5" /> <authentication mode="Forms"> <forms loginUrl="~/Account/Login" timeout="2880" /> </authentication> <pages> <namespaces> <add namespace="System.Web.Helpers" /> <add namespace="System.Web.Mvc" /> <add namespace="System.Web.Mvc.Ajax" /> <add namespace="System.Web.Mvc.Html" /> <add namespace="System.Web.Optimization" /> <add namespace="System.Web.Routing" /> <add namespace="System.Web.WebPages" /> </namespaces> </pages> <profile defaultProvider="DefaultProfileProvider"> <providers> <add name="DefaultProfileProvider" type="System.Web.Providers.DefaultProfileProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" applicationName="/" /> </providers> </profile> <membership defaultProvider="DefaultMembershipProvider"> <providers> <add name="DefaultMembershipProvider" type="System.Web.Providers.DefaultMembershipProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/" /> </providers> </membership> <roleManager defaultProvider="DefaultRoleProvider"> <providers> <add name="DefaultRoleProvider" type="System.Web.Providers.DefaultRoleProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" applicationName="/" /> </providers> </roleManager> <!-- If you are deploying to a cloud environment that has multiple web server instances, you should change session state mode from "InProc" to "Custom". In addition, change the connection string named "DefaultConnection" to connect to an instance of SQL Server (including SQL Azure and SQL Compact) instead of to SQL Server Express. --> <sessionState mode="InProc" customProvider="DefaultSessionProvider"> <providers> <add name="DefaultSessionProvider" type="System.Web.Providers.DefaultSessionStateProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" /> </providers> </sessionState> </system.web> <system.webServer> <validation validateIntegratedModeConfiguration="false" /> <handlers> <remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" /> <remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" /> <remove name="ExtensionlessUrlHandler-Integrated-4.0" /> <add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\\Microsoft.NET\\Framework\\v4.0.30319\\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> <add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\\Microsoft.NET\\Framework64\\v4.0.30319\\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" /> </handlers> </system.webServer> <runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30AD4FE6B2A6AEED" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-8.0.0.0" newVersion="8.0.0.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Microsoft.AspNet.Identity.Core" publicKeyToken="31BF3856AD364E35" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="2.0.0.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="WebGrease" publicKeyToken="31BF3856AD364E35" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-1.5.2.14234" newVersion="1.5.2.14234" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="EntityFramework" publicKeyToken="b77a5c561934e089" /> <bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" /> <bindingRedirect oldVersion="0.0.0.0-1.3.0.0" newVersion="1.3.0.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" /> <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" /> <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" /> <bindingRedirect oldVersion="1.0.0.0-5.2.3.0" newVersion="5.2.3.0" /> </dependentAssembly> </assemblyBinding> </runtime> <entityFramework> <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework"> <parameters> <parameter value="v11.0" /> </parameters> </defaultConnectionFactory> <providers> <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" /> </providers> </entityFramework> </configuration> 


I have all ready tried to delete the migration folder and database from app_Data and remigrate the database without success. 我已经准备好尝试从app_Data删除迁移文件夹和数据库,然后成功迁移数据库。 Do I have something wrong with my connection settings/database settings? 连接设置/数据库设置是否有问题? What metadata is it looking for? 它正在寻找什么元数据?

I had to comment out the 我不得不注释掉

<add name="DefaultConnection" providerName="System.Data.SqlClient" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-MvcApplication1-20160306200318;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnet-MvcApplication1-20160306200318.mdf"

in the web.config file. 在web.config文件中。 Its and error in entity 6.0 in VS 2013. The upgrade to VS 2015 fixed it as well. 它和VS 2013中的实体6.0中的错误。对VS 2015的升级也对其进行了修复。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM