开发者

Problem with connectionstring and entityframework

I have a database (sql 2008 mdf file), a class library project with an edmx file, created with the wizard. So the connection string is also made by the wizard. This project is on a teamfoundation server.

I can use all the wizard made objects when coding.

But when i run the program a开发者_运维知识库nd I try to make an entityContainerName, the program crashes and gives this error:

The specified named connection is either not found in the configuration, not intended to be used with the EntityClient provider, or not valid.

on this line: public TestEntities() : base("name=TestEntities", "TestEntities")

How can I solve this problem or what am I doing wrong?


You need to copy the connection string from the class library's config file into the config file of the application that is actually running.


First: delete your model, second: delete all the connectionstrings in your app.config.

Then recreate the model. This should set everything back to default.


Okay if you want to use EntityFramework in a Class Library that means that your application should not be aware of the DB configurations. This is my point of view. How i solved this issue. We remove all connection string from all App.Config files. And we use instantiate our context with the connection already created.

public class ExpertDataBase : DbContext
{
    public DbSet<Operator> Operators { get; set; }

    public ExpertDataBase()
        : base(ConnectionFactory.GetCESqlConnection(),true)
    {

    }
}

public static class ConnectionFactory
{
   public static DbConnection GetCESqlConnection()
   {
       DbConnection connection = new SqlCeConnection()
           {
               ConnectionString = @"Data   Source= ",
           };
       return connection;
   }
}

This is my implementation and it works without me entering any connection string in any xml. This connectionFactory can be refactored so i can be injected somehow and use UnityContainer to resolve the connection type. Hope this helps

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜