2016-04-12 14 views
1

由於某種原因,我有一個數據庫與三種類型的表具有相同的名稱,但前綴是不同的。數據庫的模式是這樣的:應用程序配置中的實體框架連接字符串與重複的表

enter image description here

我必須實現僅手動dbo.SpRicezioneSpedizioniLight表,我已經意識到有以下兩類:

public class SpRicezioneSpedizioniLight 
{ 
    public string AudOperation { get; set; } 
    public Nullable<System.DateTime> AudDateLog { get; set; } 
    public int PROGRESSIVO { get; set; } 
} 

public class GemapDbContext : DbContext 
{ 
    public DbSet<SpRicezioneSpedizioniLight> SpRicezioneSpedizioniLights { get; set; } 
} 

我怎樣才能確定具體的表dbo.SpRicezioneSpedizioniLight?現在我的連接字符串是:

<add name="SABIntegrationEntities" connectionString="metadata=res://*/Models.ModelTest.csdl|res://*/Models.ModelTest.ssdl|res://*/Models.ModelTest.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=localhost;initial catalog=SABIntegration;integrated security=True;multipleactiveresultsets=True;application name=EntityFramework&quot;" providerName="System.Data.EntityClient" /></connectionStrings> 

所有這些在單個表的本地數據庫中工作正常。

謝謝

回答

2

的你的表名的「前綴」是該表關聯的架構的名稱。 「dbo」是EF使用的默認模式名稱。

您可以使用 modelBuilder.HasDefaultSchema(SchemaName)更改默認架構; 在您的OnModelCreating-Method中,或者使用 modelBuilder.Entity()來顯式地將您的其他類型映射到該類型。ToTable(「SpRicezioneSpedizioniLight」,「bak」);

相關問題