我有一个实体,我要配置实体框架以将其映射到具有不同名称的数据库表。
我可以使用Code First DataAnnotations(DataAnnotations.Schema.TableAttribute)轻松地做到这一点。
但是由于现在的限制,我必须使用Code First Fluent API(我的域对象将由外部客户端使用,因此它们不应该是特定于技术的-例如,对DataAnnotations的任何引用)
我已经在MSDN上搜索了,但是什么也没找到。那么有可能吗?
谢谢。
我有一个实体,我要配置实体框架以将其映射到具有不同名称的数据库表。
我可以使用Code First DataAnnotations(DataAnnotations.Schema.TableAttribute)轻松地做到这一点。
但是由于现在的限制,我必须使用Code First Fluent API(我的域对象将由外部客户端使用,因此它们不应该是特定于技术的-例如,对DataAnnotations的任何引用)
我已经在MSDN上搜索了,但是什么也没找到。那么有可能吗?
谢谢。
Answers:
您将使用以下.ToTable()
方法:
modelBuilder.Entity<Department>().ToTable("t_Department");
使用ToTable方法:
public class MyEntityMap : EntityTypeConfiguration<MyEntity>
{
public const string TableName = "MyEntity";
public MyEntityMap()
{
ToTable(TableName);
Property(t => t.Id);
}
}
OnModelCreating
方法中必须执行:modelBuilder.Configurations.Add(new MyEntityMap());
在这里您可以添加一个modelBuilder.Entity<MyEntity>().ToTable("MyEntityTable");
so no,而不是在其中添加一个no,除非您还需要对此实体进行其他映射,否则这不是更干净的方法。