복붙노트

[SQL] 항목을 스캐 폴딩 할 수없는 응용 프로그램

SQL

항목을 스캐 폴딩 할 수없는 응용 프로그램

나는 VS 2013 프로에서 MVC 5 응용 프로그램을 만든 다음 SQL 서버 익스프레스 기존 DB 먼저 EF 6.1 코드를 사용했다. 나는 내가 사용하고 뷰를 만들려고 할 때 다음 선택 "새로운 ... 항목을 스캐 폴딩" "엔티티 프레임 워크를 사용하여 전망 MVC 5 컨트롤러를." 나는 모델과 상황에 맞는 클래스를 선택하고 확인을 클릭합니다. 그런 다음 다음과 같은 오류 메시지가 나타나고 더 코드가 만들어지지 않습니다. 저도 같은 오류로 EF 전동 공구를 제거했습니다.

오류

또한 변경없이 VS 2013 및 SQL Server를 다시 설치 / 설치 제거를 시도했습니다.

이 오류가 발생할 수 있습니다 무엇에 대한 다른 아이디어?

해결법

  1. ==============================

    1.나도이 문제를 가지고 있었다 내 DB 컨텍스트에서 base.onModelCreating를 호출하여 문제를 해결

    나도이 문제를 가지고 있었다 내 DB 컨텍스트에서 base.onModelCreating를 호출하여 문제를 해결

    base.OnModelCreating(modelBuilder);
    
  2. ==============================

    2.내 경우에는 내가로의 Web.config에서 내 연결 문자열을 이동

    내 경우에는 내가로의 Web.config에서 내 연결 문자열을 이동

    <connectionStrings configSource="ConnectionStrings.config"/>
    

    내가 발판하려고 할 때 오류를 받기 시작 때.

    의 Web.config에 내 연결 문자열 등을 이동 내 문제를 해결했다.

  3. ==============================

    3.이것은 나를 위해 문제를 해결

    이것은 나를 위해 문제를 해결

    throwIfV1Schema 추가 : 거짓을 DbContext의베이스에

    그래서 같이 :

    public MyDbContext() : base("ConectionStringName", throwIfV1Schema: false) { }
    
  4. ==============================

    4.'ASP.NET MVC5가 엔티티 프레임 워크와보기를 사용하여'로 비계를 사용하여 컨트롤러를 만드는 동안 나는 같은 문제에 직면했다

    'ASP.NET MVC5가 엔티티 프레임 워크와보기를 사용하여'로 비계를 사용하여 컨트롤러를 만드는 동안 나는 같은 문제에 직면했다

    나는 태그 이전의 Web.config에서 제공하는 때문에 문제가 있었다. 설정 후 문제가 해결.

    , ASP.NET MVC는, 먼저 연결 문자열을 엔티티 프레임 워크를 해결하려는 발판 동안 나는 이전에 이렇게 연결 문자열을 제공 한대로 호출 문제가 발생하므로 엔티티 프레임 워크 버전을 해결 한 후에는 연결 문자열을 찾을 수 없다는, 생각 .

  5. ==============================

    5.늦은 응답; 하지만, 나는 누군가가 자신의 문제를 해결하기 위해이 답변을 사용할 수 있다는 희망이 답변을 게시하고있다.

    늦은 응답; 하지만, 나는 누군가가 자신의 문제를 해결하기 위해이 답변을 사용할 수 있다는 희망이 답변을 게시하고있다.

    프로그램은 다음 (다른 방법의 Web.config에서 또는에서 중) 정보를 ConnectionString을 읽을 수없는 경우 몇 가지 이유를 들어,이 오류가 발생합니다.

    반드시 유효를 ConnectionString 정보가 아무 문제없이 제대로 검색되고 있는지 확인합니다.

  6. ==============================

    6.저도 같은 오류 메시지가 있었다. 나는 추가 컨트롤러 대화 상자에서 새 데이터 컨텍스트 클래스를 추가했는데, 그때 다른 오류가 발생했습니다 :

    저도 같은 오류 메시지가 있었다. 나는 추가 컨트롤러 대화 상자에서 새 데이터 컨텍스트 클래스를 추가했는데, 그때 다른 오류가 발생했습니다 :

    There was an error running the selected code generator:
    'Sections must only appear once per config file. See the help topic
    <locations> for exceptions.
    

    내가 내 web.config 파일이 요소을 한 것으로 밝혀졌습니다. (내 엔티티 프레임 워크 모델을 포함하는 클래스 라이브러리의 app.config에서 하나 붙여 있었다.)

  7. ==============================

    7.의 Web.config에 정의 된 내 경우, 나는 단지 정적 연결 문자열을 사용하여 내 DBContext 생성자를 되돌릴 수 있었다

    의 Web.config에 정의 된 내 경우, 나는 단지 정적 연결 문자열을 사용하여 내 DBContext 생성자를 되돌릴 수 있었다

    나는 동적으로 생성 된 연결 문자열을 사용하는 경우 비계는 작동하지 않았다.

    public MyContext() : base("name=MyContext") { }
    
  8. ==============================

    8.나는 그것이 보인다 발판 항목을 추가 할 것 같은 문제를 겪고 그 nuget 패키지 관리자 콘솔 작품을 통해 엔티티 프레임 워크를 제거

    나는 그것이 보인다 발판 항목을 추가 할 것 같은 문제를 겪고 그 nuget 패키지 관리자 콘솔 작품을 통해 엔티티 프레임 워크를 제거

    실행 패키지 관리자 콘솔 :

    도구 -> NuGet 패키지 관리자 -> 패키지 관리자 콘솔

    제거:

    다시 설치하려면 :

    또는 하나의 명령에 :

    나는이 올 걸 렸어요으로이 사람을 도울 수 있기를 바랍니다.

  9. ==============================

    9.이것은 당신의 오류를 해결하는 데 도움이 될 수 있습니다.

    이것은 당신의 오류를 해결하는 데 도움이 될 수 있습니다.

    내 OnModelCreating에서 나는 각 엔티티에 대한이 일을했다 :

    modelBuilder.Configurations.Add(new EntityTypeConfiguration<EntityModel>);
    

    내가 다음에 변경할 때 난 당신이 받고있는 오류가 중단되었습니다.

    modelBuilder.Entity<EntityModel>();
    
  10. ==============================

    10.나는 운없이 위의 대부분을 시도했다.

    나는 운없이 위의 대부분을 시도했다.

    무엇 결국 일을하는 것은이었다 :

    그런 다음 모든 것을 다시 일을 뺀 개발 시간 3 시간.

    동적으로 생성 된 연결 문자열과 모델을 함께 할 수있는 뭔가를 갖고있는 것 같아요. 일어날 수있는 것에 대한 어떤 생각을 감사하겠습니다.

  11. ==============================

    11.내 경우에는, 내가의 Web.config의 연결 문자열 문제를 해결했다.

    내 경우에는, 내가의 Web.config의 연결 문자열 문제를 해결했다.

    이전 문제 나 했다

    나는 이유를 알고 나던하지만 캔트 대 데이터베이스에 연결 실패.

    변경 후

        <추가 이름 = "UIBuilderContext"를 ConnectionString = "메타 데이터 = 고해상도 : / ....."/>   

    그것은 작동

  12. ==============================

    12.내 솔루션 DefaultConnection 내 웹 구성에 연결 문자열 이름을 다시 변경 한 간단했다. 비록 내 dbContext 다른 이름을 가지고!

    내 솔루션 DefaultConnection 내 웹 구성에 연결 문자열 이름을 다시 변경 한 간단했다. 비록 내 dbContext 다른 이름을 가지고!

    이 말도 알아 나 2 시간이 걸렸다!

  13. ==============================

    13.그것은의 Web.config를 통해에 설정 / 일치하지 않는 항목을 연결하는 문제를 보인다. 이 문제를 해결하려면, 이하의 절차 :

    그것은의 Web.config를 통해에 설정 / 일치하지 않는 항목을 연결하는 문제를 보인다. 이 문제를 해결하려면, 이하의 절차 :

    지금까지 생성의 Web.config에서 및 제거 모델을보고 (연결 관련 정보를 제거합니다.

    이제 모델을 생성하며 Web.config 파일에 새로운 연결 항목을 추가합니다. 모델이 생성되면,이 솔루션은 다음 제어 비계 일을 시작 구축 할 수 있습니다. 그것은 작동합니다.

  14. ==============================

    14.내가 성공하지 여기에 다른 모든 솔루션을 시도 너무 VS 2015를 사용하여이 문제를 다 퉜다. (MS 그것을 형성하기 위해 우리에게 정확히 어떻게 형성되어 있지만)가 제대로 작동하려면 \ 더블 필요 그것은 내 연결 문자열 것으로 밝혀졌다.

    내가 성공하지 여기에 다른 모든 솔루션을 시도 너무 VS 2015를 사용하여이 문제를 다 퉜다. (MS 그것을 형성하기 위해 우리에게 정확히 어떻게 형성되어 있지만)가 제대로 작동하려면 \ 더블 필요 그것은 내 연결 문자열 것으로 밝혀졌다.

    여기가 작동하지 않는 그 무엇이다 :

    <add name="DefaultConnection" connectionString="Data Source=(LocalDb)\V11.0;AttachDbFilename=|DataDirectory|\SquashSpiderDB.mdf;Initial Catalog=SquashSpiderDB;Integrated Security=True" providerName="System.Data.SqlClient" />
    

    여기에 내가 작업에 코드 생성기를 얻기 위하여 그것을 변경할 것입니다 :

    <add name="DefaultConnection" connectionString="Data Source=(LocalDb)\\V11.0;AttachDbFilename=|DataDirectory|\SquashSpiderDB.mdf;Initial Catalog=SquashSpiderDB;Integrated Security=True" providerName="System.Data.SqlClient" />
    

    V11.0의 전면 및 데이터베이스 이름에 더블 \ 문자를 확인할 수 있습니다.

    시간이 좀 다른 사람을 절약 바랍니다.

    최신 정보

    이 작업에 코드 생성을 얻을 수 있지만, \의 V11.0은 유효한 연결 문자열이 아니기 때문에 다음 응용 프로그램이 실행되지 않습니다. 이 연결 문자열을 구문 분석 할 때 MS와 같은 나에게이 모습은 코드 생성에 버그가 있습니다. 나는 다시 작동 응용 프로그램을 얻을 수있는 코드 생성을 실행 한 후 단일 \로 다시 변경했다.

    업데이트 2

    내 파트너로 좀 더 파고 후, 우리는 정말 코드 생성을 속이고 있었는지하는 것은 우리가 "초기 카탈로그"필드를 변경했다는 사실 이었다는 것을 알게되었습니다. 프로젝트가 마법사에 의해 생성하면 자동으로 aspnet-- 할 수있는 초기 카탈로그를 설정합니다. 우리는 다음 DB가이 초기 카탈로그 필드를 변경했다. 이 응용 프로그램의 실행을 위해 좋은 일했다. 그것은 잘 데이터베이스에 얻을 수 있습니다. 그러나 어떤 이유 코드 비계 세대까지이 나사. 그 전에 사용했던 초기 카탈로그 다시합니다 (aspnet--, 다시 작업을 시작 발판을 넣어 ()의 \ V11.0을 필요로하지 않고.

    미래에 누군가가 도움이되기를 바랍니다.

  15. ==============================

    15.개체 또는 다른 모델 설계 문제 간의 관계를 확인합니다. 테스트를 위해, 아무 관계없이 새로운 클래스 모델을 작성하고 컨트롤러와 뷰를 생성하는 발판을 사용합니다. 나를 위해 작동합니다.

    개체 또는 다른 모델 설계 문제 간의 관계를 확인합니다. 테스트를 위해, 아무 관계없이 새로운 클래스 모델을 작성하고 컨트롤러와 뷰를 생성하는 발판을 사용합니다. 나를 위해 작동합니다.

  16. ==============================

    16.내 모델을 일부 변경했을 때 나는 같은 오류가 발생했다 .. 유일한 방법 나는 해결할 수였다   1) 정지 / 프로세스를 종료   2) 깨끗한 용액 및 상기 용액을 다시

    내 모델을 일부 변경했을 때 나는 같은 오류가 발생했다 .. 유일한 방법 나는 해결할 수였다   1) 정지 / 프로세스를 종료   2) 깨끗한 용액 및 상기 용액을 다시

  17. ==============================

    17.만일 당신이 다음과 같은 경우 톰 익스트라에 의해 "엔티티 프레임 워크 (6) 코드 먼저 MVC (5)를 사용하여 시작하기".

    만일 당신이 다음과 같은 경우 톰 익스트라에 의해 "엔티티 프레임 워크 (6) 코드 먼저 MVC (5)를 사용하여 시작하기".

    내가 체크 모든 것을 두 배로 내 연결 문자열은 완벽합니다. 내가 실현에 실패하는 것은 내가 이미 가지고있는 appSettings는 또 다른 세트를 복사했다. 아래 봐

      <appSettings>
        <add key="webpages:Version" value="3.0.0.0" />
        <add key="webpages:Enabled" value="false" />
        <add key="ClientValidationEnabled" value="true" />
        <add key="UnobtrusiveJavaScriptEnabled" value="true" />
      </appSettings>
    

    내 조언의 Web.config의 구석 구석을 확인하는 것입니다 내가 범인입니다 확신합니다.

  18. ==============================

    18.내 경우에는 NuGet은의 web.config에 다음 제공자를 추가 :

    내 경우에는 NuGet은의 web.config에 다음 제공자를 추가 :

    <provider invariantName="System.Data.SqlServerCe.4.0" type="System.Data.Entity.SqlServerCompact.SqlCeProviderServices, EntityFramework.SqlServerCompact"/>
    

    나는에 공급자를 변경하는 경우

    <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer"/>
    

    그것은 (:-(을 알아낼하지만 5시간에 대해 말해 비용이 산정) 문제를 해결

  19. ==============================

    19.저도 같은 오류를했다. 여기에이 문제를 해결하기 위해했던 두 가지가 있습니다 :

    저도 같은 오류를했다. 여기에이 문제를 해결하기 위해했던 두 가지가 있습니다 :

  20. ==============================

    20.이 연결 문자열 문제 (I은 99 % 확실 해요)입니다. 내가있는 Web.Config의 문제를 해결하면 오류가 멀리 갔다. 나는 예상대로 일을 다른 프로젝트에 먼저 DB를 사용하고 난의 Web.config에 대한 App.config에서 DB 첫 번째 연결 문자열을 복사 한 후 (같은 이름을 사용)했다.

    이 연결 문자열 문제 (I은 99 % 확실 해요)입니다. 내가있는 Web.Config의 문제를 해결하면 오류가 멀리 갔다. 나는 예상대로 일을 다른 프로젝트에 먼저 DB를 사용하고 난의 Web.config에 대한 App.config에서 DB 첫 번째 연결 문자열을 복사 한 후 (같은 이름을 사용)했다.

  21. ==============================

    21.2015 비주얼 스튜디오를 사용하여

    2015 비주얼 스튜디오를 사용하여

    MySQL 서버를 업그레이드하는 과정에 대한 비주얼 스튜디오는 MySQL이 6.9.7에서 6.9.8로 업그레이드

    내 웹 설정에서 여전히 이전 6.9.7 버전에 대한 참조가 있었다

    다음은이 문제를 해결 내 자식은 diff입니다 :

    -      <provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices,MySql.Data.Entity.EF6,Version=6.9.7.0,Culture=neutral,PublicKeyToken=c5687fc88969c44d"></provider>
    +      <provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices,MySql.Data.Entity.EF6,Version=6.9.8.0,Culture=neutral,PublicKeyToken=c5687fc88969c44d"></provider>
    
  22. ==============================

    22.이 질문은 이제 오래 실현,하지만 난 그것을 나중에 누군가를하는 데 도움이 어떤 경우에 내 문제를 해결 게시 할 거라고 생각했다. 내 경우에는, 그것은 다른 답변에서 언급 한 몇 가지의 조합이었다. 내 연결 문자열을 확보하기 내가했다 ...

    이 질문은 이제 오래 실현,하지만 난 그것을 나중에 누군가를하는 데 도움이 어떤 경우에 내 문제를 해결 게시 할 거라고 생각했다. 내 경우에는, 그것은 다른 답변에서 언급 한 몇 가지의 조합이었다. 내 연결 문자열을 확보하기 내가했다 ...

    이 일 후에, 나는 더 이상 컨트롤러를 만들 수 없습니다. 이 문제를 해결하려면, 나는에 있었다 ...

  23. ==============================

    23.여러분. 나는 조금 늦게 해요 알고 있지만, 나는이 문제에 나의 경험을 공유하고 여전히 유효하다고 생각합니다.

    여러분. 나는 조금 늦게 해요 알고 있지만, 나는이 문제에 나의 경험을 공유하고 여전히 유효하다고 생각합니다.

    나는이 개 프로젝트에이 메시지를 직면하고 두 경우 모두 문제가 연결 문자열로했다.

    첫 번째 경우는 "InitialCatalog"대신 "초기 카탈로그"(분리) 하였다.

    두 번째 경우에는 서버 이름 (데이터 소스 PARAM가) 잘못이었다.

    나는 그것이 도움이되기를 바랍니다.

    친애하는.

  24. ==============================

    24.나는 에서의 web.config, 그것은 일 사이에 oracle.manageddataaccess.client 섹션을 주석 몇 가지 이유. (VS 2015 ODT 12)

    나는 에서의 web.config, 그것은 일 사이에 oracle.manageddataaccess.client 섹션을 주석 몇 가지 이유. (VS 2015 ODT 12)

    <configSections>   
        <section name="entityFramework" type" />
        <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
        <!--<section name="oracle.manageddataaccess.client" />-->
    </configSections>
    
  25. ==============================

    25.내 경우에는, 문제는 외부 응용 프로그램 설정 파일에 의해 발생했다 :

    내 경우에는, 문제는 외부 응용 프로그램 설정 파일에 의해 발생했다 :

    <appSettings configSource="appSettings.config" />
    

    web.config 파일에 다시 응용 프로그램 설정을 가져 오는 문제를 해결.

    <appSettings>
        <add key="webpages:Version" value="3.0.0.0" />
        <add key="webpages:Enabled" value="false" />
        <add key="ClientValidationEnabled" value="true" />
        <add key="UnobtrusiveJavaScriptEnabled" value="true" />
    </appSettings>
    
  26. ==============================

    26.나는이 있었다 :

    나는이 있었다 :

    <appSettings configSource="App_Config\Server\AppSettings.config" />
    <connectionStrings configSource="bin\Connections.config" />
    

    나는 제거 BOTH 다시 넣어했다.

    <connectionStrings>
        <add name="UIBuilderContext" connectionString="metadata=res:/ ..... " />
      </connectionStrings>
    

    다만 여전히 같은 오류가 발생 제거.

  27. ==============================

    27.사용 : VS 2015 커뮤니티 에디션과 EF 6.1.3 개인 클래스, 종자 방법 및 모델이 변경 될 때마다 실행하는 web.config 파일에 구성 :도 구현됩니다. 이것은 내가 파일의 다른 부분이 게시물에 볼 수있는 경우 일부처럼 부분은 다른 콘텐츠와 반복, 내 경우, web.config 파일에 일부 잘못 관련이있는 것으로 보이지만 주요 태그를 반복 것 물론이야. 장소 밖으로 섹션의 경우, 섹션을 통해, 시도하면서 발판에 동일한 동작 좁은 메시지의 원인이기도하다.

    사용 : VS 2015 커뮤니티 에디션과 EF 6.1.3 개인 클래스, 종자 방법 및 모델이 변경 될 때마다 실행하는 web.config 파일에 구성 :도 구현됩니다. 이것은 내가 파일의 다른 부분이 게시물에 볼 수있는 경우 일부처럼 부분은 다른 콘텐츠와 반복, 내 경우, web.config 파일에 일부 잘못 관련이있는 것으로 보이지만 주요 태그를 반복 것 물론이야. 장소 밖으로 섹션의 경우, 섹션을 통해, 시도하면서 발판에 동일한 동작 좁은 메시지의 원인이기도하다.

  28. ==============================

    28.귀하의 상황에 맞는 클래스는 예외를 throw 될 수 있습니다.

    귀하의 상황에 맞는 클래스는 예외를 throw 될 수 있습니다.

    나는이 책을 "C # 6.0과 .NET 4.6 프레임 워크"및 데이터 액세스 레이어 섹션의 마지막 연습 중 하나를 따라 다음되었다 기록을 추가했다. 글쎄, 난 비계 마법사까지 그 타격을 것 같아요. sqllog.txt에 아마 파일 사용 권한 또는 httpRuntime을이 사람이 알고 ... 정의되어 있지 않습니다. 나는이 모든 물건을 주석 처리하면 다시했다.

    namespace AutoLotDAL.EF
    {
        using System.Data.Entity;
        using System.Data.Entity.Infrastructure;
        using System.Data.Entity.Infrastructure.Interception;
        using AutoLotDAL.Interception;
        using AutoLotDAL.Models;
        using System;
        using System.Data.Entity.Core.Objects;
        using System.Web;
    
        public class AutoLotEntities : DbContext
        {
            //static readonly DatabaseLogger databaseLogger =
            //    new DatabaseLogger($"{HttpRuntime.AppDomainAppPath}/sqllog.txt", true);
    
            public AutoLotEntities()
                : base("name=AutoLotConnection")
            {
                ////DbInterception.Add(new ConsoleWriterInterceptor());
                //databaseLogger.StartLogging();
                //DbInterception.Add(databaseLogger);
    
                //// Interceptor code
                //var context = (this as IObjectContextAdapter).ObjectContext;
                //context.ObjectMaterialized += OnObjectMaterialized;
                //context.SavingChanges += OnSavingChanges;
            }
    
            //void OnObjectMaterialized(object sender,
            //    System.Data.Entity.Core.Objects.ObjectMaterializedEventArgs e)
            //{
    
            //}
    
            //void OnSavingChanges(object sender, EventArgs eventArgs)
            //{
            //    // Sender is of type ObjectContext.  Can get current and original values,
            //    // and cancel/modify the save operation as desired.
            //    var context = sender as ObjectContext;
            //    if (context == null)
            //        return;
            //    foreach (ObjectStateEntry item in
            //        context.ObjectStateManager.GetObjectStateEntries(
            //            EntityState.Modified | EntityState.Added))
            //    {
            //        // Do something important here
            //        if ((item.Entity as Inventory) != null)
            //        {
            //            var entity = (Inventory)item.Entity;
            //            if (entity.Color == "Red")
            //            {
            //                item.RejectPropertyChanges(nameof(entity.Color));
            //            }
            //        }
            //    }
            //}
    
            //protected override void Dispose(bool disposing)
            //{
            //    DbInterception.Remove(databaseLogger);
            //    databaseLogger.StopLogging();
            //    base.Dispose(disposing);
            //}
    
            public virtual DbSet<CreditRisk> CreditRisks { get; set; }
            public virtual DbSet<Customer> Customers { get; set; }
            public virtual DbSet<Inventory> Inventory { get; set; }
            public virtual DbSet<Order> Orders { get; set; }
        }
    }
    
  29. ==============================

    29.EF 6.1 템플릿 사용 EF 5 비계 지원하지 않습니다 Chares

    EF 6.1 템플릿 사용 EF 5 비계 지원하지 않습니다 Chares

  30. from https://stackoverflow.com/questions/23576294/application-cant-scaffold-items by cc-by-sa and MIT license