.net – LINQ2SQL:加载匿名实体时如何修改字段值?
!请不要重定向到
this article,因为它不能解决下面描述的问题.
假设我们在数据库中有这样的表: SomeTable > ID(int) 我们已经配置了一个Linq2Sql数据上下文.我们已经为SomeTable配置了一个实体:OnLoaded方法修改DT,使DT的DateTimeKind变为Utc(最初是未指定的). 现在这里是问题: 如果我们使用整个实体请求数据,则调用OnLoaded方法: From x In ourDataContext.SomeTable Select x 但是,如果我们仅请求表的一部分(因此生成匿名类型),则不会调用OnLoaded: From x In ourDataContext.SomeTable Select x.DT 很明显,OnLoaded是在SomeTable实体中定义的,而不是匿名类型. 目前我考虑创建将替换匿名类型的自定义实体.但也许有人有更好的解决方案? 解决方法我们有类似的问题,因为我们需要从实体接收一部分字段作为匿名对象,并且始终知道我们将日期字段的DateTimeKind作为DateTimeKind.UTC,而不在LINQ请求中使用其他函数.我们尝试了很多东西,但是我们发现只有一个很好的解决方案 – 使用T4代码生成Linq2Sql. 附:如果您想了解更多关于使用T4的Linq2Sql代码生成,您可以从http://www.hanselman.com/blog/T4TextTemplateTransformationToolkitCodeGenerationBestKeptVisualStudioSecret.aspx开始 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |