LinQ ORM数据对象和继承

时间:2008-10-31 17:17:37

标签: linq inheritance orm polymorphism

我正在考虑如何做到这一点,但我在我的数据库,文章,NewsItems等中有几种不同形状的数据。

他们都有共同点,他们都有ID(在数据库中他们被命名为ArticleID,NewsID等)。

他们都有标题

他们都有 BodyText

他们都有状态

他们都有添加日期

我想做的是标准类继承。

我想要一个名为内容的大师班(我不需要将其写入数据库),其字段如下:

  • ID
  • 标题
  • 字幕
  • BODYTEXT
  • 状态
  • AddedDate

我不确定如何使用ORM执行此操作。为什么我想要这个是因为我可以将一个COntent列表传递给我的UserControl,后者负责渲染它。它只需要所有对象共有的信息。

这甚至可能吗?

3 个答案:

答案 0 :(得分:2)

这就是接口的用途。让每个类实现一个包含Title,BodyText,Status和DateAdded属性的IContent接口。现在你可以绕过一个可能包含不同类型内容的集合(List<IContent>)。

如果你正在使用LinqToSql,你可以创建部分类文件,让自动生成的类实现你想要的接口。

public partial class SomeContent : IContent

答案 1 :(得分:1)

我不确定你是否在谈论LINQ to SQL,但网上有一些关于如何用它创建继承的资源:

  1. LINQ To SQL Discriminator Column Example - Inheritance Mapping Tutorial
  2. Inheritance in LINQ to SQL Screencast
  3. ......等等。

    HTH

答案 2 :(得分:0)

我发现一个页面看起来像我正在寻找的东西(最后一篇文章)...但我不确定使用弱类型的对象:

LINQ inheritance