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

C# C在自定义控件中显示不同的实体属性,c#,entity-framework,asp.net-web-api,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 stri

在本例中,我有以下实体:

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客户端的customer表单中,我有一个自定义控件,它应该显示3个导航属性的描述

这里的问题是,每个实体可以有不同的属性作为其描述,例如CustomerType.description、Title.Name、PaymentMethod.Method

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

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

可能使用反射或某种界面?

这通常通过绑定到视图模型来解决。每个实体有一个公共视图模型或视图模型?不,每个视图有一个模型:视图模型。但我只有一个用户控件,这应该显示任何模型。可以有100个视图包含相同的用户控件。查看!=用户控制。