当前位置: 首页 > 编程语言 > C#

entityframeworkCodeFirst延迟经验分享

时间:2023-04-10 21:34:47 C#

entityframeworkCodeFirst延迟经验我在学习entityframework,目前遇到一个问题,我从数据库中获取数据或者更新一行需要10秒左右,好像我的代码实际上已经坚持了一段时间,即使在调试之后一切正常。除了延迟之外,代码本身实际上按预期工作。在谷歌上搜索,我在这里找不到其他人与此问题相关的实体框架相关问题。我在想这可能与我的CodeFirstMySQLEntities类构造函数有关,但不确定。如果有人可以指导我,我将不胜感激。这是主要代码:namespaceCodeFirstMySQL{classProgram{staticvoidMain(string[]args){UserRepositoryuserRepository=newUserRepository();userRepository.Update("Klein","OtherName");//这里有延迟Console.WriteLine("done");控制台.ReadLine();}}}这是DbContext代码:放;}}}这是UserModel代码:namespaceCodeFirstMySQL.Database.Models{publicclassUserModel{[Key,StringLength(100)]publicstringfirstName{get;放;}[StringLength(100)]publicstringlastName{get;放;}}}这是存储库代码:context.SaveChanges();}}publicvoidDelete(stringfirstName){使用(varcontext=newCodeFirstMySQLEntities()){UserModeluser=context.Users.FirstOrDefault(x=>x.firstName==firstName);context.Users.Remove(用户);context.SaveChanges();}}publicvoidUpdate(stringlastNameOld,stringlastNameNew){使用(varcontext=newCodeFirstMySQLEntities()){UserModeluser=context.Users.FirstOrDefault(x=>x.lastName==lastNameOld);user.lastName=lastNameNew;context.SaveChanges();}}publicIListGetUsers(){使用(varcontext=newCodeFirstMySQLEntities()){returncontext.Set().ToList();}}}}连接字符串:延迟几乎可以肯定是由于实体框架启动时间造成的您可以通过在退出代码之前尝试第二次更新来确认这一点。下面的摘录解释了模型缓存、发现模型、处理数据注释以及以一定成本应用流畅的API配置方面发生了什么。为了在每次实例化派生的DbContext时避免这种成本,模型在第一次初始化期间被缓存。每次在同一个AppDomain中构造同一个派生上下文时,都会重用缓存模型。以上就是C#学习教程:entityframeworkCodeFirst延迟经验分享的全部内容。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: