有人可以在这里建议我可能做错了什么。看起来这是一个我没有看到的小事,因为我之前在不同的项目中做过同样的事情:
EFRepository.cs:
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder
.Configurations
...
.Add(new TransferredStreamConfiguration())
...
;
}
TransferTargetConfiguration.cs:
class TransferredStreamConfiguration : EntityTypeConfiguration<TransferredStream>
{
public TransferredStreamConfiguration()
{
Map(p =>
{
p.MapInheritedProperties();
p.ToTable("TransferredStream");
})
;
HasKey(e => e.Id);
Property(e => e.Id)
.HasDatabaseGeneratedOption(DatabaseGeneratedOption.None)
.HasColumnOrder(0)
;
...
}
}
TransferredStream.cs
public partial class TransferredStream : Entity
{
public virtual string StoreName { get; set; }
...
}
public abstract partial class Entity : IEquatable<Entity>, IValidatable
{
public virtual long Id { get; protected internal set; }
...
}
答案 0 :(得分:0)
我案中的解决方案:
Entity Framework作为NuGet包安装在我必须使用我的Data类库(项目)的所有项目中。 我最近使用最新的Entity Framework版本更新了我的Data项目。但是因为我没有在我的测试项目上做过这个,所以它正在使用这个项目所引用的dll而不是我的Data项目的更新版本。
总结一下:
检查解决方案中的每个项目是否有NuGet更新并执行它们。