我已经从.net 4.6应用程序升级到.net core 2.1.x,其中某些对象和方法不可用。
示例:
:base("name=mydbentities")
OnModelCreating(DbModelBuilder modelBuilder)
base:(nameOrConnectionString)
从旧的.net代码库开始,有2个局部类
public partial class OpsCentralEntities : DbContext
{
public OpsCentralEntities() : base("name=OpsCentralEntities")
{
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
throw new UnintentionalCodeFirstException();
}
}
在上面的代码中
错误CS1503参数1:无法从“字符串”转换为“ Microsoft.EntityFrameworkCore.DbContextOptions”
然后这个
'OpsCentralEntities.OnModelCreating(DbModelBuilder)':未找到合适的方法来覆盖
然后与另一个局部类
public partial class OpsCentralEntities : IDbContext
{
public OpsCentralEntities(string nameOrConnectionString)
: base(nameOrConnectionString)
{ }
....
}
无法从“字符串”转换为“ Microsoft.EntityFrameworkCore.DbContextOptions”
答案 0 :(得分:1)
可以进行模型创建
OnModelCreating(DbModelBuilder modelBuilder) -> OnModelCreating(ModelBuilder modelBuilder)
构造函数参数接受选项
base("name=mydbentities")-> YourContextContext(DbContextOptions options) : base(options)
如果您使用SqlQuery
将会出现问题,因为现在您需要add it to model
modelBuilder.Query<YourModel>() //to OnModelCreating(ModelBuilder modelBuilder)
db.Query<YourModel>().FromSql(rawSql)
我遇到的最后一个问题是be using Extra type