C# 将类映射到具有不同表名但具有相同列结构的表
我有10多个SQL表,它们的列结构相同,但表名不同。我希望能够使用LINQ处理表中的数据。是否可以创建一个像我通常那样对表结构建模但不定义表名的类?有没有一种方法可以将LINQ用于具有相同结构但不同名称的表?首先使用EF代码,您可以将实体动态映射到不同的表:C# 将类映射到具有不同表名但具有相同列结构的表,c#,linq,C#,Linq,我有10多个SQL表,它们的列结构相同,但表名不同。我希望能够使用LINQ处理表中的数据。是否可以创建一个像我通常那样对表结构建模但不定义表名的类?有没有一种方法可以将LINQ用于具有相同结构但不同名称的表?首先使用EF代码,您可以将实体动态映射到不同的表: public class OrderContext : DbContext { private readonly string _tableName; public OrderContext(string tableNam
public class OrderContext : DbContext
{
private readonly string _tableName;
public OrderContext(string tableName)
: base("name=OrderContext")
{
_tableName = tableName;
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Order>().ToTable(_tableName);
base.OnModelCreating(modelBuilder);
}
public ICollection<Order> Orders { get; set; }
}
我想实体框架会为我映射表,不是吗?首先使用EF代码,您可以动态地将实体映射到不同的表。我想我将使用EF,听起来不错。谢谢这样我就不用使用EF向导了?我只需输入创建集合的表的名称?@JonKittell:欢迎来到代码优先方法的奇妙而怪异的世界!:)您没有XML/EDMX文件,所有映射都是在C代码中进行的。这太棒了,我在ASP.NET MVC中使用过该向导,但不想在这个Windows窗体应用程序中使用它。很酷!是啊,巫师真是一团糟。无论如何,它将在EF的下一个主要版本(代号v7)中消失。
var orders = new OrderContext("Orders").Orders;
var legacyOrders = new OrderContext("LegacyOrders").Orders;