我有一個新的MVC 3應用程序,它顯示了在數據庫中手動修改數據時出現的一些問題。MVC3工具使用實體框架與Ninject緩存問題
該工具仍在開發中,偶爾我想更改用戶的teamId。當我這樣做時,我必須殺死Web開發服務器並再次運行它,否則查詢不會選擇新的teamId。 同樣的事情,當我發佈到IIS的工具,如果我曾經修改數據庫上的東西,我需要再次複製'bin'文件夾或停止應用程序並重新運行它。
當我從應用程序本身修改數據時,我沒有任何問題。
這是我的Ninject看起來像:
public class NinjectControllerFactory : DefaultControllerFactory
{
private IKernel kernel = new StandardKernel(new TrackerServices());
protected override IController GetControllerInstance(RequestContext requestContext, Type controllerType)
{
if (controllerType == null)
return null;
return (IController)kernel.Get(controllerType);
}
private class TrackerServices : NinjectModule
{
public override void Load()
{
var context = new TrackerEntities();
Bind<IUserRepository>().To<UserRepository>().WithConstructorArgument("context", context);
}
}
}
我的接口:
public interface IUserRepository : IRepository<User>
{
User GetByName(string name);
}
我的執行情況:
public User GetByName(string login)
{
var userLogin = _misc.GetUsername(login);
return _context.Users.Where(x => x.Login == userLogin).Single();
}
我的索引操作
public ActionResult Index()
{
var teamid = (int)_users.GetByName("myName").TeamId;
這從來沒有發生過,但這個工具是我與Ninject一起使用的第一個工具。我想知道我的問題和使用存儲庫之間是否存在關係?
謝謝,我會嘗試儘快並更新線程! :) – LanFeusT