c# - SqlDependency 不适用于 LEFT JOIN
问题描述
我正在尝试将信号器与 sqldependency 一起使用。我测试过:
select ACTION_DATE,Id,Type_ID,Customer_ID, Phone, Message, User_ID,
Status_ID,CREATED_ON,Description from [TLS].[Notification] where user_id='"
+ Parameters.UserID + "'"
并且一切正常,当我在 db 中更改某些内容时,我的事件就会触发。
但是当我尝试使用 Left join 时,我的On_Change
事件不会触发:
select c.DISPLAY_NAME as CustomerName, n.ACTION_DATE,n.Id,n.Type_ID,
n.Customer_ID, n.Phone, n.Message, n.User_ID,
n.Status_ID,n.CREATED_ON,n.Description
from [TLS].[Notification] AS n Left outer join [TLS].[Customer] AS c
on c.ID=n.CUSTOMER_ID
where user_id='" + Parameters.UserID + "' and n.STATUS_ID<>'3'
这是我的方法
var messages = new List<SqlDataReader>();
using (var connection = new SqlConnection(_dbContext.Database.Connection.ConnectionString))
{
connection.Open();
using (var command = new SqlCommand(query, connection))
{
command.Notification = null;
var dependency = new SqlDependency(command);
var reader = command.ExecuteReader();
dependency.OnChange += new OnChangeEventHandler(SqlNotification.dependency_OnChange);
return _dbContext.Database.SqlQuery<T>(query);
}
}
解决方案
推荐阅读
- kotlin - 在用 Kotlin 编写的 Android 库的公共 API 中处理 R8 + JvmStatic Annotation + Lambda
- r - R循环将以下数字添加到列表中的每个元素
- python - 使用带有元组的数组将 numpy 数组切片为多个元素,而无需 for 循环
- flutter - 当 Flutter 中没有足够的空间时,创建一个溢出来最小化
- prisma - 如何在 Prisma 2.0 中保存 Json?
- javascript - 有没有办法找出 Node.js 进程在哪个终端中运行?
- oauth - 如何在 oauth 2.0 中为 grant_type=password 传递用户 ID 和密码?
- amazon-s3 - 使用 Dask 将大于内存的数据帧缓存到本地磁盘
- python - 如何在 python 3.7 中使用 eval() 和 compile()?
- reactjs - 如何在 React 中的表单提交上重定向和传递数据作为道具?