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的映射描述的转换(除非它已经存在).

相关文章

### 创建一个gRPC服务项目(grpc服务端)和一个 webapi项目(...
一、SiganlR 使用的协议类型 1.websocket即时通讯协议 2.Ser...
.Net 6 WebApi 项目 在Linux系统上 打包成Docker镜像,发布为...
一、 PD简介PowerDesigner 是一个集所有现代建模技术于一身的...
一、存储过程 存储过程就像数据库中运行的方法(函数) 优点:...
一、Ueditor的下载 1、百度编辑器下载地址:http://ueditor....