实体框架检查数据库表是否添加了新记录

时间:2014-08-17 04:20:36

标签: c# asp.net asp.net-mvc entity-framework

我试图跟踪是否有可能在Entity Framework中检查数据库表是否添加了新记录。我正在尝试从控制器获取记录,只有在数据库表中添加了任何新记录。有什么建议吗?

服务器:

        [HttpGet]

        public JsonResult DisplayChatMsgs()
        {
            var chatMsgs = dbObj.tblChats.ToList();
            return Json(chatMsgs, JsonRequestBehavior.AllowGet);
        }

客户端:

        $.ajax({
            url: "Default/DisplayChatMsgs",
            type: "Get",
            success: function (data) {
                //var mdata = $.parseJSON(data.d);
                //The Div to be populated
                $('#msgBox').empty();

                content = "";
                //Looping thru each record
                $.each(data, function (i, record) {
                    //Properties available in Model
                    //We need to specify the properties in our model
                    content += "<tr><td><b>" + record.toName + "</b>:</td><td>" + record.chatMsg + "</td></tr>";

                });
                table = "<table>" + content + "</table>"
                $(table).appendTo('#msgBox');
                $("#msgBox").animate({ scrollTop: $('#msgBox')[0].scrollHeight }, 1000);
            }
        });

1 个答案:

答案 0 :(得分:2)

我99.99%确定EF中有内置方式可以在向DB添加行时收到通知。

您尝试的解决方法是使用SignalR:每次您的应用程序写入该表时,您都会向客户端发布消息以获取新数据。这种方法的不雅之处在于你必须点击你写入该表的每个地方。但是如果你使用Repository Pattern会很棒,那么你只需要在一个地方进行更改。