我有一个包含两个表的数据库:
Employee Salary
======== ================
Id Name Id EmpId Salary
当然每个表都有一个类来实现代码首次迁移。
有没有办法将数据库表从源数据库复制到另一个数据库,并使用EF代码优先更改表的名称?
PS:此方法的目标是使用默认结构创建默认数据库,并且当新客户端寄存器在现有数据库中使用新名称创建自己的表时
答案 0 :(得分:0)
最简单的方法是首先针对您尝试从中复制表的数据库运行代码(Add-> New Item - > Data - > ADO.NET Entity Data Model - > Code First from数据库。)勾选要导入的表。完成后,删除web.config中的Entity DBContext和连接字符串。这将从您尝试创建的数据库中创建所有模型。将它们添加到您的模型中;完成。
public DbSet<StudentsModel> MyNewTable{ get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder) {
modelBuilder.Entity<MyNewTable>().ToTable("MyTable");
答案 1 :(得分:-1)
在这种情况下,实体框架层代码会因客户端而异吗? 由于您将在一个客户端上拥有比另一个客户端更多的表。 您可以更改名称 。modelBuilder.Entity()ToTable(&#34; mytesttablename&#34);流畅的API OR表属性 [表(&#34; mytesttablename&#34)] 公共课考试 { } 等