gpt4 book ai didi

c# - 有没有 .NET 多态数据框架

转载 作者:太空狗 更新时间:2023-10-29 19:43:23 26 4
gpt4 key购买 nike

我正在开始一个新项目的工作,如果有某种方法可以使不同的数据模型具有多态性,这个项目会容易得多。我正在考虑使用 Entity Framework 4.0(当它发布时),但无法确定它是否真的能够工作。

这是基本场景。我实现了一个评论系统,并希望能够将它连接到许多不同类型的模型。也许我想要对一个人的个人资料发表评论,并在网页上发表评论。以前我的做法是将人物表和评论表的关系与网页表和评论表的关系分开创建。然而,我认为这会导致数据库中的表结构过于复杂。

如果我能只为我想要评论的对象添加一个接口(interface),然后将数据库中的表结构简化为单一关系,那将是最好的。

我遇到的问题是我似乎不知道正确的术语来查找有关如何做这类事情的信息。任何人都可以提供的任何帮助将不胜感激。

最佳答案

如果您将“评论表”设计为与评论类型无关(只是基础知识,例如 ID、日期和时间以及文本内容),那么您可以使用一个附加表来映射它们。

public interface ICommentable
{
int CommentTypeCode
int Id
...
}

现在映射器表包含列:

  • 评论类型代码
  • target_object_id
  • 评论编号

你的评论都放在一个表里,有一个 Id您的各种“目标对象”必须都具有相同类型的 Id

现在您可以在不更改注释表或映射器表的情况下任意向系统添加新的“可注释”对象——只需为其分配一个新的类型代码并创建具有必需的 Id 列的表。

关于c# - 有没有 .NET 多态数据框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2065783/

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