时间:2010-07-24 00:37:25

标签: linq-to-entities

1 个答案:

答案 0 :(得分:0)

我从来没有真正解决过这个问题,但我已经找到了一些合理的解决方法,所以我想我会提到它们以防其他人遇到这个问题。

第一个是简单地将大文本字段分解为数据库中它们自己的表,然后为该表创建一个单独的实体。这对我的应用程序来说是有意义的,因为无论如何我必须这样做,但是为了让一些工具满意而改变你的数据库结构会很烦人。

你可以做的另一件事是只选择你想要的字段,然后重新投射到表格类型而不是使用匿名类型,省去你不想要的字段。也就是说,而不是:

Dim items = From i In db.MyTable Where [predicate] Select i.Id, i.Text1

这样做:

Dim items = From i In db.MyTable Where [predicate] Select New TableObject With {.Id = i.Id, .Text1 = i.Text1}

然后,如果您确实想要获取大文本字段,请在单独的查询中明确请求它们。

这有点令人恼火,因为你必须明确地填充字段,但它比原来的问题更好,我确信有一种方法可以进一步改进。

相关问题