如何在Entity Framework中使用自定义属性?

时间:2012-11-23 22:14:24

标签: c# entity-framework data-access-layer

假设我有一个表单,用户可以使用几个下拉菜单设置自定义对象,然后保存该对象。我正在使用实体框架来处理DAL。例如,他们正在设置一个配置文件,必须选择一个喜欢的颜色,我在下拉菜单中有几种颜色。下拉列表从颜色表中填充。如果我想添加“其他”作为选项并允许用户键入值。当我保存对象时,我从下拉列表中获取颜色ID并将其保存到我的配置文件对象,但如果他们选择其他对象,我想保存文本框的内容。有没有正常的处理方式?我不想在这里重新发明轮子。

这是我计划尝试的,我将我的配置文件的颜色id属性设置为0,1关系,因此它不是必需的,然后我将添加一个部分配置文件类,其中包含颜色名称的getter / setter ,在getter中,如果color对象不为null,我将返回颜色的名称,如果为null,我将返回我的自定义属性值。

1 个答案:

答案 0 :(得分:0)

您描述的设计将创建参照完整性问题。您正在尝试创建一个作为colors表的外键的字段,如果不可能,则外键应该指向另一个表。

更好的设计是让用户从下拉菜单中选择颜色,如果颜色不可用,您可以通过某种对话框为用户提供将新颜色添加到颜色表的方法。然后,他们添加的颜色将在下拉列表中选择。