如何动态映射实体类?

时间:2012-08-08 13:24:14

标签: linq entity-framework linq-to-sql asp.net-mvc-2

我有强类型实体类,用于Linq-To-Sql:

[Table(Name = "_Reference2")]
public class Customer
{
    [Column(Name = "_IDRRef")]
    public Binary Reference { get; set; }
    [Column(Name = "_Fld196")]
    public string Account { get; set; }
    // and so on...
}

但事实证明,我们将拥有更多具有相同类型实体(Customer)的数据库,但是表名和列名不同,表结构也可能略有不同(例如,在数据类型中)。

有没有办法根据数据库名称动态映射对此类的调用?我们可以动态更改表和列的名称吗?在这种情况下最好的做法是什么?

我们希望将代码更改限制为“数据域”项目,并保持Web UI部分解决方案不受影响。

P.S。:数据库来自第三方软件,我们对它们没有任何控制(不允许更改结构)。

1 个答案:

答案 0 :(得分:0)

您可以use mapping in XML并即时发出该XML。这当然有一些限制 - 表的结构和数据类型必须与您的实体匹配。如果他们不这样做,你还需要一个新的课程。