在数据库发生变化时接收通知c#

时间:2016-11-26 17:20:36

标签: c# database listener mvvmcross

当应用程序通过rest client get方法从数据库启动时,我当前加载了数据。我想知道如何跟踪用户何时更改数据库并根据这些更改进行操作?

此方法从数据库中填充应用程序启动所需的数据。它位于我的viewmodel中:

public async Task InitializeData()

现在我想我想在数据库发生变化时采用相同的方法吗?但怎么样? Ť

1 个答案:

答案 0 :(得分:0)

如果您使用的是EntityFramework,则可以使用数据库命令记录。

以下是代码示例 www.entityframeworktutorial.net - Database Command Logging

public class Logger
{
    public static void Log(string message)
    {
        Console.WriteLine("EF Message: {0} ", message);
    }
}

class EF6Demo
{

    public static void DBCommandLogging()
    {
        using (var context = new SchoolDBEntities())
        {

            context.Database.Log =  Logger.Log;                
            var student = context.Students
                            .Where(s => s.StudentName == "Student1").FirstOrDefault<Student>();

            student.StudentName = "Edited Name";
            context.SaveChanges();
        }
    }
}

在Logger类中,当调用Log函数时,您可以对代码做出反应。