nik4537 nik4537 - 9 months ago 39
C# Question

DataContext does not contain a constructor with 0 parameters

I am learning with this so bear with me...I am trying to create the DB object to access the table.

AppDatabaseDataContext appDb = new AppDatabaseDataContext();


This gives me an error, so I create the constructor...

public AppDatabaseDataContext()
{

}


Now this tells me that
System.Data.Linq.DataContext
does not contain a constructor that takes 0 parameters. Why?

Thanks!

Answer Source

You need to specify a connection string. If you know it's always going to be the same (for example, localhost) you can just hard-code it in your parameterless constructor:

public AppDatabaseDataContext()
    : this(@"Data Source=localhost;Initial Catalog=Foo;Integrated Security=True")
{
}

Notice how we chain the constructor to call the version that consumes a connection string. This way, you can instantiate the data context using the parameterless constructor, and it will use this default connection string.