我正在编写一个带有数据库的应用程序,该数据库具有稍微不寻常的模式。至少我认为这很不寻常,我很少做数据库的事情。
我所有的书都告诉我应该使用实体框架(或其他一些 ORM)来访问数据库,但他们给出的例子总是沼泽标准 CRUD。每个实体一张表,每个对象一行,活动记录等。
我的架构使用不相交的子类型,因此每个实体有多个表,并且具有修订历史记录,因此编辑实际上会创建一个新行,但仅在一个表中(取决于已编辑的字段)
EF 是迎合这种自定义行为还是面向传统模式?我的理解是我创建了一个模式或域对象,数据库操作代码是自动生成的。我可以覆盖默认行为吗?我还能如何告诉 EF 我的自定义行为?
如果 EF 能让我的生活更轻松,我非常愿意学习它,但我不想花很多精力去学习一个我最终会努力让它做我想做的事情的框架。如果是这种情况,我宁愿推出自己的存储库并自己处理 SQL。