EF 4.1 映射器类的用法



我正在使用EF电源工具从已经存在的数据库生成POCO类。它生成一个类和一个映射器类,例如:类人类人物映射器由于我首先使用反向代码,我真的需要映射器类吗?我需要数据库表名和列名,它们是在映射器类中生成的。我应该将它们作为属性移动到 POCO 类吗?

EF Power Tools 使用流畅的 API 将类/属性映射到表/列。如果所有类/属性都遵循 EF 约定(您可以按照 Ladislav 的答案在此处了解有关约定的更多信息,那么您既不需要属性也不需要映射器类。但通常,您有一些不遵循约定的映射。

就个人而言,我认为使用流畅的 api 是一种更简洁的方式,因为它不会触及您的 poco 类(不需要属性),一旦掌握了窍门,用流畅的 api 编写感觉比属性更容易(至少对我来说,特别是在多对多或一对多关系中)。

最棒的是EF电动工具为您完成这一切。那么,为什么要费心将其更改为属性或删除它们呢?

我正在寻找属性而不是流畅 API 的原因是我已经有很多代码和项目使用一个类作为模型来映射对象并进行验证。

如果我想使用流畅的API,我必须更改大量代码以使用一个类并使用另一个类进行验证。

希望我找到了罗文·米勒的解决方案。

我可以使用指南将[表]和[列]标签移动到模型中,然后进行更多修改以移动[必需],[RowVersion],[最小长度]和[最大长度]属性并摆脱Map类。

以下是我在有人只想使用属性而不是流畅 API 的情况下所做的修改:下载

我省略了一些属性和映射,因为我不需要它们。也许需要一些格式。它没有经过完全测试!我将对其进行更多处理,稍后会替换该文件。

最新更新