Linq 如何动态映射实体类?
我有一个强类型实体类,用于Linq到Sql:Linq 如何动态映射实体类?,linq,entity-framework,linq-to-sql,asp.net-mvc-2,Linq,Entity Framework,Linq To Sql,Asp.net Mvc 2,我有一个强类型实体类,用于Linq到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... } 但事实证明,
[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
),但表和列名不同,表结构也可能略有不同(例如,在数据类型上)
有没有办法根据数据库名称动态映射对此类的调用?我们可以动态更改表和列的名称吗?在这种情况下,最佳做法是什么
我们希望将代码的更改限制在“data domain”项目中,并保持解决方案的web UI部分不变
备注:数据库来自第三方软件,我们无法对其进行任何控制(不允许更改结构)。您可以动态生成和发出该XML。这当然有一些限制——表的结构和数据类型必须与实体基本匹配。如果没有,您还需要一个新类。看起来我可以声明许多冗余属性,并且只在XML映射中使用所需的属性,对吗?我不确定您是否可以将属性和XML结合起来。我希望您必须使用XML来完成所有工作。