C# 在不同模式中映射具有相同表的实体实体框架6代码优先
如果存在类似的问题,我很抱歉,但我找不到我想要的 我首先使用实体框架6代码。我有不同方案的数据库。每个模式映射到不同的用户表上,并且是相同的交叉模式。我首先创建了Entity Framework 6代码,并使用如下示例中的属性将实体映射到表:C# 在不同模式中映射具有相同表的实体实体框架6代码优先,c#,entity-framework,C#,Entity Framework,如果存在类似的问题,我很抱歉,但我找不到我想要的 我首先使用实体框架6代码。我有不同方案的数据库。每个模式映射到不同的用户表上,并且是相同的交叉模式。我首先创建了Entity Framework 6代码,并使用如下示例中的属性将实体映射到表: [Table("Log")] public partial class Log { /// <summary> /// Id /// </summary> public int Id { get; s
[Table("Log")]
public partial class Log
{
/// <summary>
/// Id
/// </summary>
public int Id { get; set; }
/// <summary>
/// Message
/// </summary>
[Required]
public string Message { get; set; }
}
它会起作用的
我知道我可以通过编程在模型创建期间提供模式名来解决问题
但是否有任何方法可以使用某种通用方法将实体映射到来自不同方案的所有表,而不指定模式名称
谢谢在您的上下文中,您可以指定DefaultSchema:
public class YourContext: DbContext
{
public YourContext(): base()
{
}
public DbSet<Log> Logs { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
//Configure default schema
modelBuilder.HasDefaultSchema("SHEMA_NAME");
}
}
public类YourContext:DbContext
{
public YourContext():base()
{
}
公共数据库集日志{get;set;}
模型创建时受保护的覆盖无效(DbModelBuilder modelBuilder)
{
//配置默认架构
modelBuilder.hasdaultschema(“SHEMA_NAME”);
}
}
见:
public class YourContext: DbContext
{
public YourContext(): base()
{
}
public DbSet<Log> Logs { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
//Configure default schema
modelBuilder.HasDefaultSchema("SHEMA_NAME");
}
}