gpt4 book ai didi

c# - 如何指定继承实体中的属性类型?

转载 作者:太空宇宙 更新时间:2023-11-03 16:10:00 24 4
gpt4 key购买 nike

我最近开始在项目中使用 Entity Framework ,我想知道如何为特定案例建模。

考虑这个场景:

  • 我的应用程序需要为多种类型的契约(Contract)建模
  • 每种类型的契约(Contract)都包含一个或多个分包实例
  • 每种类型的合约都在一个集合中公开其子合约
  • 每种类型的契约(Contract)只能包含与契约(Contract)之一对应的特定类型的子契约(Contract)(ContractA 类型的契约(Contract)将仅包含SubcontractA 类型的子契约(Contract), ContractB 类型的契约(Contract)将只包含 SubcontractB)
  • 类型的子契约(Contract)

在 Entity Framework 模型中对此进行建模的最佳方式是什么?

我的第一次尝试使用了基本类型之间的关联,但我希望能够在每个派生类型的契约(Contract)上指定子契约(Contract)的类型,而不需要在特定类型的契约(Contract)上有两个不同的属性。

最佳答案

我最近遇到了类似的情况。我最终只设置了基本类型之间的关联,并向实体添加了验证以确保属性只包含正确的子类型。查看IValidatableObject .

缺点是这会在运行时发生,因此程序员可能会分配错误的类型并且他们只有在测试后才能发现。它还需要将对象转换为正确的类型才能使用它们。不过,这是我能想到的最佳选择。

我很想知道是否有人有更好的解决方案。

关于c# - 如何指定继承实体中的属性类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17837321/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com