如何选择数据库表更新dring运行时



我正试图根据FactoryBuilder在代码中返回的对象来更新数据库中的不同表。我想使用InstrumentFactory,它在运行时为我提供对象/仪器,然后我用(更新信息(进行一些操作

var tmpInstrument = InstrumentFactory.MakeInstrument(nameOfTable);
//old code was.....  var tmpInstrument = new SuperTable();

然而,当我稍后想要更新我的DB时,我不知道如何将其编码为InstrumentFactory在运行时根据"nameOfTable"设置的对象。我想根据tmpInstruction可能是什么对象来更新不同的表。

if (tmpInstrument is SuperTable)
{
_context.SupterTable.Add((ObjectCast)tmpInstrument);
_context.SaveChanges();
}

有什么好的方法可以根据tmpSplitInfo是哪个对象来更新_context.ThisParticularTable或_context.AnotherObjectTable吗同时删除if语句和强制转换

感谢

看起来您正在尝试确定tmpSplitInfo是否属于SuperTable类型,所以我建议您查看is关键字:

if(tmpSplitinfo is SuperTable)
{
_context.SuperTable.Add(tmpInstrument);
_context.SaveChanges();
}

这就是我想要的(谢谢Elias(。

_context.Set(tmpInstrument.GetType()).Add(tmpInstrument);

相关内容

  • 没有找到相关文章

最新更新