6
votes

I have 2 projects in a solution one asp.net 5, and one class library project containing EFModel. I used install-package to install : "EntityFramework": "6.1.3", "EntityFramework.SqlServerCompact": "6.1.3" on both projects and have the connection string in both classlibrary\app.config and wwwroot\web.config I searched the internet some said placing:

<entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlCeConnectionFactory, EntityFramework">
      <parameters>
        <parameter value="System.Data.SqlServerCe.4.0" />
      </parameters>
    </defaultConnectionFactory>
    <providers>
      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
      <provider invariantName="System.Data.SqlServerCe.4.0" type="System.Data.Entity.SqlServerCompact.SqlCeProviderServices, EntityFramework.SqlServerCompact" />
    </providers>
  </entityFramework>​

in web.config solves the problem, I have this section in app.config and when I try to place this in web.config file I get angularjs inject error. My entity framework code gets me the error: "Schema specified is not valid. Errors: error 0152: No Entity Framework provider found for the ADO.NET provider with invariant name 'System.Data.SqlClient'. Make sure ... And I am not able to solve this, help Please.

2
Is this ASP.NET MVC 5 or ASP.NET 5(vNext)? If so then I guess you need to add frameworks dependency in project.json. - Mithun Pattankar
I have these dependencies already in Project.json file: "EntityFramework": "6.1.3", "EntityFramework.SqlServerCompact": "6.1.3" - mz1378
Not sure how much this link is helpful stackoverflow.com/questions/20111583/… - Mithun Pattankar
@mz1378 If you are targeting Core framework, try targeting full version. - Siva Gopal
I have: "dnx451": { "dependencies": { "DataAccess": "1.0.0-*" } } in my project json. - mz1378

2 Answers

13
votes

I Solved my problem as bellow: Although I added EntityFramework and EntityFramework.SqlServerCompact using Nuget once for every project in the solution and my project.json says that: "EntityFramework": "6.1.3", "EntityFramework.SqlServerCompact": "6.1.3", But I noticed that Visual Studio did a nasty job of referencing all packages from the ClassLibrary project, So I copied all the assemblies from classlibrary project's bin to MainProject bin and add a reference to all of them through browsing, And Finally copied required Auto Generated configurations from ClassLibrary's app.config to MainProject's web.config and Problem Solved.

1
votes

usually this error occurs due to the Entityframework. follow the following

  1. Add entityframeworkcore from the NuGet,
  2. Add entityframeworkdesign.
  3. Add entityframework.sqlserver.compact

last give a rebuild for the solution the above method worked for me as I also found that issue.