繁体   English   中英

如何禁用Entity Framework中的属性自动化

[英]How to disable automapping of properties in Entity Framework

我决定在Entity Framework中使用流畅的映射。 我的目的是通过代码映射每个代码而不使用任何属性和自动映射函数。 我发现的最好方法是类EntityTypeConfiguration,我为项目中的每个实体实现。

后来我将属性添加到我的一个实体中。 不需要保留此属性。 我曾预料到,在我为此属性添加映射之前,它将被数据库和持久层忽略。 不幸的是,它不起作用,并且属性被映射。 唯一的方法是使用Ignore方法或NotMapped属性,但我不想明确地这样做。

有没有办法阻止Entity Framework自动化? 我试图从DbModelBuilder中删除所有约定,但它没有帮助。

据我所知,除此之外别无他法。 您需要使用Ignore()[NotMapped] 我倾向于选择前者,因为它不会使模型混乱。

实际上我已经尝试了很多方法: - 删除映射属性的自定义约定 - 删除所有约定

但最简单(也是最简洁)的方法是在映射类中使用反射并禁用所有未配置的属性映射。

该代码(以及一个用法示例)在我的公开要点中。 https://gist.github.com/hidegh/36d92380c720804dee043fde8a863ecb

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM