Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Entity Framework defaultconnectionfactory

I've recently created a new web project using entity framework 4.3. I'm using database first design.

Entity Framework added this section to my web.config, which is giving some informational error messages. I've read somewhere that this code relates to code first design - do I need it - do I just remove it?

<entityFramework>
  <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlCeConnectionFactory, EntityFramework">
    <parameters>
      <parameter value="System.Data.SqlServerCe.4.0" />
    </parameters>
  </defaultConnectionFactory>
</entityFramework>

Thanks.

like image 730
dotnetnoob Avatar asked Jan 22 '13 11:01

dotnetnoob


2 Answers

This may be very relevant (emphasis mine):

The configuration section allows you to specify a default connection factory that Code First should use to locate a database to use for a context. The default connection factory is only used when no connection string has been added to the configuration file for a context.

See Entity Framework Config File Settings on MSDN.

like image 180
Maslow Avatar answered Sep 21 '22 07:09

Maslow


I am not 100% sure if it matters if you aren't using CodeFirst (try removing it and see if it runs ok). However, if you are using CodeFirst and using SQLCE 4.0 as your main database then you need to keep it. See the docs:

If you don’t set a default connection factory, Code First uses the SqlConnectionFactory, pointing to .\SQLEXPRESS. SqlConnectionFactory also has a constructor that allows you to override parts of the connection string. If you want to use a SQL Server instance other than .\SQLEXPRESS you can use this constructor to set the server.

like image 30
James Avatar answered Sep 22 '22 07:09

James