SQLServer 的视图自带缓存特效?!
条件: 1.Entity Framework Code First 2.同一个上下文中(或者叫做一次事务) 3.使用MSSQL 首先用查询一个视图,然后更新与组成视图有关联的表,然后用同样的条件查询视图,未获取到更新的数据。 如果将同样的查询条件放到另外一个上下文中,可以获取已经更
条件:
1.Entity Framework Code First
2.同一个上下文中(或者叫做一次事务)
3.使用MSSQL
首先用查询一个视图,然后更新与组成视图有关联的表,然后用同样的条件查询视图,未获取到更新的数据。
如果将同样的查询条件放到另外一个上下文中,可以获取已经更新的数据。
如果条件有变化,例如从Name='A'编程Name='B',可以获取更新的数据。
大概如下:
using(Context c)
{
c.View.Where(e=>e.Name.Equals("A"));
c.Table.Update();//View是Table和另外一个表构成
c.View.Where(e=>e.Name.Equals("A")); //数据实际被更新,但是这里获取的不是更新后的数据,如果把A改成B,则可以获取到数据。
//另外通过SQL Profile观察过SQL语句,一切正常,三条SQL语句是在数据库被执行了的。
}
目前还没有去深入研究这个问题,不知道是数据库的问题,还是ADO的问题,或者是EF的问题。
烦人呐!!!!!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

For objects with the same name that already exist in the SQL Server database, the following steps need to be taken: Confirm the object type (table, view, stored procedure). IF NOT EXISTS can be used to skip creation if the object is empty. If the object has data, use a different name or modify the structure. Use DROP to delete existing objects (use caution, backup recommended). Check for schema changes to make sure there are no references to deleted or renamed objects.

The import steps are as follows: Copy the MDF file to SQL Server's data directory (usually C:\Program Files\Microsoft SQL Server\MSSQL\DATA). In SQL Server Management Studio (SSMS), open the database and select Attach. Click the Add button and select the MDF file. Confirm the database name and click the OK button.

When the SQL Server service fails to start, here are some steps to resolve: Check the error log to determine the root cause. Make sure the service account has permission to start the service. Check whether dependency services are running. Disable antivirus software. Repair SQL Server installation. If the repair does not work, reinstall SQL Server.

To view the SQL Server port number: Open SSMS and connect to the server. Find the server name in Object Explorer, right-click it and select Properties. In the Connection tab, view the TCP Port field.

If you accidentally delete a SQL Server database, you can take the following steps to recover: stop database activity; back up log files; check database logs; recovery options: restore from backup; restore from transaction log; use DBCC CHECKDB; use third-party tools. Please back up your database regularly and enable transaction logging to prevent data loss.

SQL Server database files are usually stored in the following default location: Windows: C:\Program Files\Microsoft SQL Server\MSSQL\DATALinux: /var/opt/mssql/data The database file location can be customized by modifying the database file path setting.

If the SQL Server installation fails, you can clean it up by following these steps: Uninstall SQL Server Delete registry keys Delete files and folders Restart the computer

SQL Server English installation can be changed to Chinese by following the following steps: download the corresponding language pack; stop the SQL Server service; install the language pack; change the instance language; change the user interface language; restart the application.
