C#在自定义控件中显示不同的实体属性

时间:2014-10-09 16:43:00

标签: c# entity-framework asp.net-web-api

为了这个例子,我有以下实体:

public class CustomerType
{
    public ItemType ItemType = ItemType.CustomerType;
    public int Id;
    public string Description;
}

public class Title
{
    public ItemType ItemType = ItemType.Title;
    public int Id;
    public string Name;
}

public class PaymentMethod
{
    public ItemType ItemType = ItemType.PaymentMethod;
    public int Id;
    public string Method;
}

public class Customer
{
    public ItemType ItemType = ItemType.Customer;
    public int Id;
    public string Name;
    public CustomerType CustomerType;
    public Title Title;
    public PaymentMethod PaymentMethod;
}

我使用EF6并且启用了延迟加载,因此当我检索客户时,导航属性也会被填充。现在,在winforms客户端中,在客户表单中,我有一个自定义控件,应该显示3个导航属性的描述。

这里的问题是每个实体都可以使用不同的属性作为描述(例如,CustomerType.Description,Title.Name,PaymentMethod.Method)。

有没有办法将自定义控件绑定到该特定对象?有没有比为每个实体类型实现switch()语句更好的方法,例如:

switch(typeof(objEntity))
{
    case "CustomerType": textBoxDescription.Text = objEntity.Description;
    case "Title": textBoxDescription.Text = objEntity.Name;
    //etc...
}

也许使用反射或某种界面?

0 个答案:

没有答案