Entity framework 实体框架(添加/创建)对象引用未设置为对象的实例。。。但它是吗?

Entity framework 实体框架(添加/创建)对象引用未设置为对象的实例。。。但它是吗?,entity-framework,entity-framework-4,entity,Entity Framework,Entity Framework 4,Entity,我正在使用实体框架访问现有数据库。我可以访问数据,但当我尝试添加新数据时,我得到一个NullReferenceException“对象引用未设置为对象的实例”,但它是 数据库连接很好,我可以很好地访问数据:List logs=DB.log.ToList() 使用“添加”或“创建”时引发异常: db.log.Add(new log()); db.log.Create(); 堆栈跟踪: at System.Data.Entity.DbSet`1.Create() 更新: 该错误仅发生在包含DB上

我正在使用实体框架访问现有数据库。我可以访问数据,但当我尝试添加新数据时,我得到一个NullReferenceException“对象引用未设置为对象的实例”,但它是

数据库连接很好,我可以很好地访问数据:
List logs=DB.log.ToList()

使用“添加”或“创建”时引发异常:

db.log.Add(new log());
db.log.Create();
堆栈跟踪:

at System.Data.Entity.DbSet`1.Create()
更新:

该错误仅发生在包含DB上下文的命名空间之外。我可以通过将类包装成在DBHandler名称空间中有它们的“addtodb context”方法来解决这个问题。但我想解释一下为什么会发生这种情况。这是一个bug还是我违反了一些神圣的.net法律

谢谢你的时间

试试这个:

using (db = new xxxxxEntities())
        {
           List<log> logs = db.log.ToList();
           db.log.Add(new log());
           db.log.Create();
        }
使用(db=new xxxxxEntities())
{
List logs=db.log.ToList();
添加(newlog());
db.log.Create();
}

您的日志表中是否有任何“Required”字段?是的,有,但如果缺少任何字段,我将得到一个“Cannotinserthevalue NULL into column…”异常。问题与名称空间有关。