我是linq和cdc的新手。我试图使用c#和linq查看cdc日志文件更新。基本上我需要帮助的是如何使用c#和linq实现这个show update查询。
USE mytest;
GO
DECLARE @from_lsn binary(10), @to_lsn binary(10)
SET @from_lsn =
sys.fn_cdc_get_min_lsn('dbo_User_Info')
SET @to_lsn = sys.fn_cdc_get_max_lsn()
SELECT ID_number, Name, Age FROM cdc.fn_cdc_get_all_changes_dbo_User_Info
(@from_lsn, @to_lsn, N'all');
GO
我可以很容易地看到使用此查询在sql server中对mytest表所做的所有更改,但是如何使用linq to sql实现它。我正在使用sql server 2008和visual studio 2012。
答案 0 :(得分:2)
是否可以将表值函数映射到Linq中的实体?
如何:在LINQ中使用表值用户定义函数: http://msdn.microsoft.com/en-us/library/bb386954.aspx
CREATE FUNCTION dbo.GetUserHistory()
RETURNS table AS
RETURN (
SELECT ID_number, Name, Age FROM cdc.fn_cdc_get_all_changes_dbo_User_Info
((SELECT sys.fn_cdc_get_min_lsn('dbo_User_Info')), (SELECT sys.fn_cdc_get_max_lsn()),N'all')
)