gpt4 book ai didi

sql - 将抽象类和子类保存到数据库

转载 作者:搜寻专家 更新时间:2023-10-30 23:22:31 25 4
gpt4 key购买 nike

我有一个抽象类StrategyBase”,以及一组子类StrategyA/B/C等子类使用了基类的一些属性,又具有一些个性化的属性。我的问题是如何将其保存到数据库中。

我目前通过使用 SqlMetal.exe 自动创建实体类来使用 SqlCE 和 Linq-To-Sql。我已经看到 this question 中显示了三种解决方案,但我看不到这些解决方案如何与 SqlMetal/实体类一起工作。尽管在我看来,“具体表继承”可能无需任何手动修改即可工作。另外两个呢,他们会不会有问题?

对于“Single Table Inheritance”,难道所有类都不需要所有变量吗?对于“类表继承”解决方案,我完全看不出它将如何映射到实体类以达到有用的目的。我可能会注意到,我扩展了这些部分实体类来创建我的业务对象的类。

我也可能会考虑迁移到 EntityFramework 而不是 SqlMetal/Linq2Sql,所以也很高兴知道这是否对易于实现的模式有任何影响。

可能需要注意的一件重要事情是我会不断开发新策略,这使我不得不修改程序代码,可能还有数据库 shcema;添加新策略时。

抱歉,这个问题有点“无处不在”,但希望这里有一些明显的优点/缺点,您可以提供建议。 ?

干杯!

最佳答案

实际上,这个确切的问题被问了很多,而且一直是 answered many times .您可能没有使用数据库术语进行搜索。

问题是在非对象主题领域应用 OO 术语和思考;使普通的直接任务变得非常复杂和有限。

马丁·福勒 (Martin Fowler) 和斯科特·安布勒 (Scott Ambler) 的书很多都不值一美元,详见 this answer ,从 11 Dec 10 条目开始。

如果您还有疑问,请发表评论。

关于sql - 将抽象类和子类保存到数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4632035/

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