微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

asp.net-mvc – OnModelCreating与数据库配置的DataAnnotations

我有一个更复杂的解决方案,它为我的POCO课程提供了一个Domain项目.我想生成数据库,其中一些表字段被转换为特定长度.现在我看到了两种方法:POCO类本身的数据注释或者在我的DbContext中使用OnModelCreating方法,但这是最好的方法吗?

我对OnModelCreating方法的关注是,这是特定于Entity Framework的.我应该切换到另一个ORM,除非我重新实现它,否则数据库配置将丢失.

使用Annotations方法,我最终使我的模型混乱,并担心他们失去了“POCO”标签.我也不确定其他ORM是否会尊重注释.另一方面,关于数据库应该是什么样子的所有信息都与模型相关联,因此易于维护.

有什么想法指出我正确的方向?

解决方法

OnModelCreating更好.某些映射功能无法通过数据注释获得.此外,正如您在某些情况下已经提到的,数据注释违反了POCO原则,因为您的类可以包含有关持久性的信息,甚至一些数据注释当前需要在您的域项目中引用EntityFramework.dll.

另请注意,数据注释是MS特定功能,主要由MS工具使用.如果要将它们与其他ORM一起使用,则必须实现从数据注释到ORM的映射描述的转换(除非它已经存在).

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐