我正在为自定义列表模板添加ItemAdding事件接收器.事件接收器和列表模板都由相同的功能部署.同样的功能也会创建列表实例.
我遇到的问题是,为部署它的站点中的每个列表项触发了事件.eventreceivre的Elements.xml是:
<Receivers ListTemplateId="10200">
<Receiver>
<Name>ListEventReceiverItemAdding</Name>
<Type>ItemAdding</Type>
<Assembly>$SharePoint.Project.AssemblyFullName$</Assembly>
<Class>SharepoitProject.ListEventReceiver</Class>
<SequenceNumber>10000</SequenceNumber>
</Receiver>
</Receivers>
Run Code Online (Sandbox Code Playgroud)
我不确定我做错了什么我从这里开始或多或少做了什么.
环境:Sharepoint 2010与本网站上的发布功能
sharepoint sharepoint-2010 sharepoint-listtemplate eventreceiver
我将 System.Linq.Dynamic.Core 版本 1.0.7.6 与 EF 和 Oracle.ManagedDataAccess.EntityFramework 12.1.2400 一起使用。
知道为什么动态查询像
EntitySet.Where($"Date == @0", date)
Run Code Online (Sandbox Code Playgroud)
被翻译成sql:
SELECT * FROM "Schema"."Entities" "Extent1"
WHERE (TO_TIMESTAMP('2016-02-12 00:00:00.000', 'YYYY-MM-DD HH24:MI:SS.FF') = "Extent1"."Date")
Run Code Online (Sandbox Code Playgroud)
注意TO_TIMESTAMP函数调用。
而在相同上下文和相同集合上进行标准 Linq 查询
EntitySet.Where(p => p.Date == date)
Run Code Online (Sandbox Code Playgroud)
翻译为:
SELECT * FROM "Schema"."Entities" "Extent1"
WHERE ("Extent1"."Date" = :p__linq__0)
Run Code Online (Sandbox Code Playgroud)
无TO_TIMESTAMP函数调用