danielovich danielovich - 10 months ago 119
C# Question

Value cannot be null. Parameter name: source

This is probably the biggest waste of time problem I have spent hours on solving for a long time.

var db = new hublisherEntities();
establishment_brands est = new establishment_brands();

est.brand_id = 1;
est.establishment_id = 1;
est.price = collection["price"];
est.size = collection["size"];


This gives me an error of

Value cannot be null. Parameter name: source

stacktrace of

[ArgumentNullException: Value cannot be null. Parameter name: source]
1 source, Func
2 predicate)
+4083335 System.Data.Entity.Internal.InternalContext.WrapUpdateException(UpdateException
updateException) +87

System.Data.Entity.Internal.InternalContext.SaveChanges() +193

System.Data.Entity.Internal.LazyInternalContext.SaveChanges() +33

System.Data.Entity.DbContext.SaveChanges() +20 ... ...

I just want to add an entity to the table. The ORM is EF.

Answer Source

I had this one a while back, and the answer isn't necessarily what you'd expect. This error message often crops up when your connection string is wrong.

At a guess, you'll need something like this:

    <add name="hublisherEntities" connectionString="Data Source=localhost;Initial Catalog=hublisher;Integrated Security=True;" providerName="System.Data.SqlClient" />
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
            <parameter value="Data Source=localhost;Initial Catalog=hublisher;Integrated Security=True" />

What's happening is that it's looking for a data source in the wrong place; Entity Framework specifies it slightly differently. If you post your connection string and EF config then we can check.