2016-06-20 7 views
1

NCache 4.6をEF 6.1.3第2レベルのキャッシュとして使用すると、SqlDependencyは機能しません。 (エンティティの更新を検出しても、エンティティを追加または削除するためにEFを使用するとキャッシュを更新したり無効にしたりすることはありません)エンティティフレームワークとしてのNCache 2次キャッシュがデータベースと同期していません

私はNCacheをmy IPを持つコンピュータ:IPとVBOXで192.168.56.1とSQLサーバー2014:select * from sys.dm_qn_subscriptionsがあることを示し、また

ALTER DATABASE NORTHWND SET ENABLE_BROKER with rollback immediate; 
GO 
--Select is_broker_enabled from sys.databases where name ='NORTHWND' 

GRANT SUBSCRIBE QUERY NOTIFICATIONS TO user1 
GRANT CREATE QUEUE TO user1 
GRANT CREATE SERVICE TO user1 
GRANT CREATE PROCEDURE TO user1 


CREATE QUEUE "NCacheSQLQueue-192.168.56.1"; 
CREATE SERVICE "NCacheSQLService-192.168.56.1" ON QUEUE."NCacheSQLQueue-192.168.56.1"([http://schemas.microsoft.com/SQL/Notifications/PostQueryNotification]); 

GRANT SUBSCRIBE QUERY NOTIFICATIONS TO user1; 
GRANT RECEIVE ON "NCacheSQLQueue-192.168.56.1" TO user1; 
GRANT RECEIVE ON QueryNotificationErrorsQueue TO user1; 
GRANT SEND ON SERVICE :: "NCacheSQLService-192.168.56.1" to user1; 

192.168.56.101

their siteからの命令を使用して、私のIP &ユーザーを満たすためにそれらをカスタマイズし、私は次のSQLを実行します誰も購読していないリブド。

答えて

1

ALTER AUTHORIZATION ON DATABASE::[NORTHWND] TO user1;を実行する必要があることが判明しました。ここで

は私がやったことです:

1-新鮮なNorthwindデータベースを回復しました。

ALTER DATABASE NORTHWND SET ENABLE_BROKER with rollback immediate; 
GO 

GRANT SUBSCRIBE QUERY NOTIFICATIONS TO sa 
GRANT CREATE QUEUE TO sa 
GRANT CREATE SERVICE TO sa 
GRANT CREATE PROCEDURE TO sa 

ALTER AUTHORIZATION ON DATABASE::[NORTHWND] TO sa 

(注)このクエリでは、私は意図的にその後CREATE QUEUE "NCacheSQLQueue-192.168.56.1";とすべてのクエリを省略していること:

2-が、次のSQLを実行しました。

また、Entity Framework ProfilerはNCacheまたはSQLの依存関係と互換性がないことがわかりましたので、無効にしました。

関連する問題