我正在使用 block 实现数据库模型,以免混淆处理和任何相关的非托管资源需求,但我想知道(基本上)什么时候发生数据库模型不再使用 block 作用域。问题不是关于处理 或内存(我知道,它会自动为我们完成)。关于SQL 连接 和相关实例的问题。
所以,这是一个简单的 (ActionResult
) 示例:
Account account;
using(AccountsModel accountModel = new AccountsModel())
{
account = accountsModel.Accounts.FirstOrDefault(x=> x.Username == username);
if(account == null) return;
account.Name = name;
accountsModel.SaveChanges();
}
ViewBag.Name = account.Name; // Is it safe?
return View();
问题是:“在模型的使用范围之外访问 Account
类实例(由 AccountsModel
提供)是否安全?”
注意:我知道,我不能/无法对超出范围的表执行任何更新。
最佳答案
只要 AccountsModel
的 dispose
调用不做任何破坏它的事情,那么继续访问模型创建的对象应该没有问题。
因此,它实际上更多地取决于dispose
关于c# - 当模型超出使用范围时实际发生了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31443812/