Как использовать SQL-зависимость с единицей работы - PullRequest
0 голосов
/ 27 сентября 2019

Я использую SQLdependency для получения уведомлений в своем приложении, и я установил Unit of work в качестве общего хранилища, но в sqldependency необходимо выполнить команду запроса, а затем подключить ее в зависимости, как я могу заменить вместо нее единицу работы?

Я пытался заменить метод get моего UoW, но зависимость не перегружена

public IEnumerable<UserGifts> GetGiftList(string userGUID)
    { 

        var usergifts = new List<UserGifts>();
        using (var connection = new SqlConnection(_connString))
        {
            connection.Open();
            using (var command = new SqlCommand(@"SELECT [UserGiftsID], [UserID], [SenderGuID],[SenderUserName],[ReciverGuID],
                                                                [GiftType],[GiftPriceValue],[GiftStatus],[GiftImage_Name],[DeliveredDate] FROM [dbo].[UserGifts] WHERE [ReciverGuID] =@userGUID", connection))

            {
                command.Parameters.AddWithValue("@userGUID", userGUID);
                command.Notification = null;

                if (connection.State == ConnectionState.Closed)
                    connection.Open();

                var reader = command.ExecuteReader();

                while (reader.Read())
                {
                    usergifts.Add(item: new UserGifts
                    {
                        UserGiftsID = (int)reader["UserGiftsID"],
                        UserID = (int)reader["UserID"],
                        SenderGuID = (string)reader["SenderGuID"],
                        SenderUserName = (string)reader["SenderUserName"],
                        ReciverGuID = (string)reader["ReciverGuID"],
                        GiftType = (string)reader["GiftType"],
                        GiftPriceValue = (string)reader["GiftPriceValue"],
                        GiftStatus = (string)reader["GiftStatus"],
                        GiftImage_Name = (string)reader["GiftImage_Name"],
                        DeliveredDate = Convert.ToDateTime(reader["DeliveredDate"])
                    });
                }
                var dependency2 = new SqlDependency(command);
                dependency2.OnChange += new OnChangeEventHandler(dependency_OnChange2);
            }

        }
        return usergifts;


    }


public IEnumerable<UserGifts> GetGiftList(string userGUID)
    {

        UnitOfWork db = new UnitOfWork();


        var usergifts = new List<UserGifts>();
        usergifts = db.UserGiftsRepository.Get(ug => ug.ReciverGuID == userGUID).ToList();


                var dependency2 = new SqlDependency(????)
                dependency2.OnChange += new OnChangeEventHandler(dependency_OnChange2);
           // }

       // }
        return usergifts;


    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...