Dim*_*ima 10 .net entities linq-to-sql
!请不要重定向到本文,因为它没有解决下面描述的问题.
假设我们在数据库中有这样的表:
SomeTable
我们已经配置了Linq2Sql数据上下文.我们为SomeTable配置了一个实体:OnLoaded方法以DT的DateTimeKind变为Utc(最初是未指定的)的方式修改DT.
现在问题是:
如果我们使用整个实体请求数据,则调用OnLoaded方法:
From x In ourDataContext.SomeTable Select x
Run Code Online (Sandbox Code Playgroud)
但是如果我们只请求表的一部分(因此生成一个匿名类型),则不会调用OnLoaded:
From x In ourDataContext.SomeTable Select x.DT
Run Code Online (Sandbox Code Playgroud)
很明显,OnLoaded是在SomeTable实体中定义的,而不是匿名类型.
目前我考虑创建可替代匿名类型的自定义实体.但也许有人有更好的解决方案?
我们遇到了类似的问题,因为我们需要从实体接收部分字段作为匿名对象,并且始终知道我们有DateTimeKind日期字段,DateTimeKind.UTC而不需要在 LINQ 请求中使用其他函数。
我们尝试了很多方法,但只找到了一个足够好的解决方案 - 使用 T4 为 Linq2Sql 生成代码。
PS如果您想了解有关T4的Linq2Sql代码生成的更多信息,您可以从http://www.hanselman.com/blog/T4TextTemplateTransformationToolkitCodeGenerationBestKeptVisualStudioSecret.aspx开始
| 归档时间: |
|
| 查看次数: |
180 次 |
| 最近记录: |