I created an ADO.NET object in my WCF service project, but when I try to connect in it I get this error:
No connection string named ‘FileEntities’ could be found in the
application config file.
Here is my code:
public File GetFile() { using (FileEntities ctx = new FileEntities()) { File aFile = (from f in ctx.Files where f.ID == 5 select f).FirstOrDefault(); // No connection string named 'FileEntities' could be found in theapplication config file.
return aFile;
}
}
Here is the App.Config for my service project:
<?xml version="1.0" encoding="utf-8"?>
<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=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>
<connectionStrings>
<add name="FileEntities" connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string="data source=HOOVERS-PC;initial catalog=Interview_MicahHoover;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
</connectionStrings>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
<parameters>
<parameter value="v11.0" />
</parameters>
</defaultConnectionFactory>
</entityFramework>
</configuration>
I have tried removing the “name=” prefix in the model.
Ah, the problem was my service project just builds a library. The project that uses the library doesn’t have the connection string in it. I added the connection string to that project and it (mostly) works.
Keeping things like this straight is a reason to not break things up into a lot of projects, but the WCF O’Reilly book recommends it.