根据TypeCode属性选择对象

时间:2011-06-14 20:21:00

标签: c# silverlight entity-framework data-binding

我一直在使用Entity Framework在C#(Silverlight)中开展Survey计划 数据保存在一个名为问题定义的表中,我保存所有问题定义。

我的问题是基于 TypeCode 的不同类型 - 它是字符串char "T" - 用于文本,"O"用于选项等。

无论如何,您如何以易于获得问题特定类的方式构建您的设计。在我的情况下,我有一个表单,人们可以点击添加新问题,然后他们在选项卡视图中填写问题名称,文本后跟type of the question。所以人们可以点击特定标签。我现在有点迷失如何管理它。我可以将我的基本问题转发给例如。 LabelQuestion。此外,当人们对问题进行管理时,他们需要点击问题,然后我需要编写一些能够自动将该问题转换为特定类型的内容。据我所知,我对C#& amp;的知识有限。我可以做以下实体框架。

  • 在我的基本问题中扩展由实体框架生成的QuestionDefinition表对象。所以我不必在其中封装Question属性。这将非常容易绑定和管理。但是我不确定实体框架以及如何管理它,因为它不再是QuestionDefinition
  • 执行我已完成的操作并直接绑定到类中的Question属性并将其用作包装器。这些类型特定的类中包含的所有属性都只是setter,并且会写入Question属性。

我错过了其他一些解决方案吗?哪种解决方案更好,更可重用。你会怎么做?

Class Diagram

1 个答案:

答案 0 :(得分:1)

我会选择第二种方法“做我做过的事情并直接绑定到类中的Question属性并将其用作包装器。这些类型特定类中包含的所有属性都只是setter并且会写入问题属性。“由于您已经掌握了有关问题类型的信息,因此投射也不会成为问题。