我有一个ASP.NET Core Web API。我正在使用带有存储过程的原始SQL来计算一些值:
private TestContext context;
public TestRepository(TestContext tContext)
{
context = tContext;
}
public IEnumerable<test> GetTests(User user)
{
return context.tests.FromSql("EXECUTE dbo.test_GETALL {0}", user.code).ToList();
}
当我在表中插入新记录时,必须更改结果,但此代码返回旧值。我如何解决这个问题?
答案 0 :(得分:0)
如果TestContext连接到EF,那么问题就在于,或者您的交易配置不当。
答案 1 :(得分:0)
我自己也有类似的问题。
检查 startup.cs ,确保服务和存储库不 .AddSingleton
。
这些需要更改为.AddScoped
(您也可以使用.AddTransient
)
services.AddSingleton<IYourService, YourService>(); //Needs to be AddScoped
services.AddSingleton<IYourRepository, YourRepository>(); //Also needs to be AddScoped
如果您需要更多详细信息,请访问my SO question that I believe relates to your situation。
希望这有帮助!