我有更多的实体框架问题。其中 一个是现在在这里解决entity framework multiple tables same name实体框架无效的列名称
当我尝试插入任一台博或表BI我得到以下错误:
{"Invalid column name 'Bo_obrano'.\r\nInvalid column name 'Bo_boano'.\r\nInvalid column name 'Bo_ndos'."}
或
{"Invalid column name 'Bi_bistamp'}
我通过使用电动工具对数据库进行反向设计,我现在可以像这样对我进行绘图:
public boMap()
{
// Primary Key
HasKey(t => new { t.obrano, t.boano, t.ndos });
Property(t => t.obrano)
.HasDatabaseGeneratedOption(DatabaseGeneratedOption.None);
Property(t => t.boano)
.HasDatabaseGeneratedOption(DatabaseGeneratedOption.None);
Property(t => t.ndos)
.HasDatabaseGeneratedOption(DatabaseGeneratedOption.None);
}
和双向映射是这样的:
public BiMap()
{
// Primary Key
HasKey(t => t.bistamp);
....
我的上下文类看起来是这样的:
public class PHCDbContext:DbContext
{
//classes mapeadas via reverse
public DbSet<Bi> DadosLinhasEncomendas { get; set; }
public DbSet<Bo> DadosCabecalhosEncomendas { get; set; }
...
public PHCDbContext(string connection):base(connection)
{
Database.SetInitializer<PHCDbContext>(null);
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Configurations.Add(new BiMap());
modelBuilder.Configurations.Add(new boMap());
....
我导出映射的指示在这里: export code first model mapping
我所发现这些领域本身并不存在。当我在visual studio中打开edmx文件时,我发现那些字段在类的导航属性中,在模型的关联部分中。它们代表表中的主键,而不是外键。但它们没有映射到poco类中的任何值。更少的数据库中的任何列。 那么我该如何解决这个问题? 帮助将apreciated提前 感谢
对于迟到的回复感到抱歉,但例如在我的bimap类不会有以下几行:ToTable(“bi”); 属性(t => t.bistamp).HasColumnName(“bistamp”);处理注入和数据库映射? – jonniebigodes