实体框架在SaveChanges中读取实体属性

时间:2014-09-25 19:19:45

标签: c# entity-framework

我正在使用Entity Framework 5代码优先,我已经覆盖了SaveChanges方法。在SaveChanges中,我想识别具有EntityState == EntityState.Added的任何实体(我可以很容易地做到这一点)但是我想要识别那些被定义为主键的实体中的任何列, HasDatabaseGeneratedOption属性设置为DatabaseGeneratedOption.None,目前的值为Null

我需要识别这些列,因为我的数据库当前有一些列被定义为主键,需要通过代码手动填充。我想我可以在SaveChanges的插页上处理这一列的列,但是我很难理解如何识别它们。

如何查询SaveChanges中的列定义?我显然知道如何检查数据值

1 个答案:

答案 0 :(得分:1)

您需要查看数据模型,获取包含主键的属性,并查看它是否具有您想要的属性。请在此处查看示例:http://weblogs.asp.net/ricardoperes/entity-framework-metadata。 但是,如果您不使用属性,而是在OnModelCreating中自定义模型,则此方法无效。