【问题标题】:Entity Framework (Add/Create) Object reference not set to an instance of an object... but it is?实体框架(添加/创建)对象引用未设置为对象的实例......但它是吗?
【发布时间】:2012-10-12 00:42:00
【问题描述】:

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

数据库连接正常,我可以访问数据就好了:List<log> logs = db.log.ToList();

使用添加或创建时抛出异常:

db.log.Add(new log());
db.log.Create();

堆栈跟踪:

at System.Data.Entity.DbSet`1.Create()

更新:

错误只发生在包含数据库上下文的命名空间之外。我可以通过包装类以在 DBHandler 命名空间中使用它们的“添加到数据库上下文”方法来解决它。但我想解释为什么会发生这种情况。这是一个错误还是我违反了一些神圣的 .net 法律?

感谢您的宝贵时间!

【问题讨论】:

  • 您的日志表中是否有任何“必填”字段?
  • 是的,但是如果缺少任何内容,我会收到“无法将值 NULL 插入列 ....”异常。问题与命名空间有关。

标签: entity-framework entity-framework-4 entity


【解决方案1】:

试试这个:

using (db = new xxxxxEntities())
        {
           List<log> logs = db.log.ToList();
           db.log.Add(new log());
           db.log.Create();
        }

【讨论】:

    猜你喜欢
    • 2018-04-02
    • 2022-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-18
    相关资源
    最近更新 更多