【问题标题】:How do I determine if an entity has been saved?如何确定实体是否已保存?
【发布时间】:2011-02-04 23:57:29
【问题描述】:

使用代码优先 EF 4. 如果我有一个对象,我如何以一般方式确定它是否已被保存(无需查询数据库)。新实例化的对象的 EntityState 为 Unchanged。从数据库中检索的对象也是如此。

【问题讨论】:

    标签: entity-framework entity-framework-4


    【解决方案1】:

    如果任何实体有一个自动生成的id,那么这个id只会在实体被保存时生成。

    所以你可以检查id是否为0。

    编辑

    我同意 cmets。但是,如果您使用 autoids 设计您的数据库,这将有效。 2 个月以来没有关于 SO 的其他答案,所以可能没有其他方法。

    另外,如果你去数据库检查它是否是新记录,你将如何在数据库级别测试它是否是新记录?

    【讨论】:

    • 不一定 - Id 不是您班级的只读属性,它可以由任何东西设置
    • 除了RichardW1001所说的以外,这不是确定这一点的通用方法。
    猜你喜欢
    • 1970-01-01
    • 2011-10-09
    • 2011-05-18
    • 1970-01-01
    • 2020-03-10
    • 2011-01-02
    • 2021-11-23
    • 2016-08-17
    • 1970-01-01
    相关资源
    最近更新 更多