Jen*_*ter 6 linq sql-server c#-4.0 entity-framework-4.1 ef-model-first
有没有替代使用Include热切载入实体?
我无法使用的原因Include是它似乎区分大小写.
请考虑以下示例:
我有两个表:


注意案例的区别.
当我想急于负载Sager的Stamkartotek我用Include,但Include不加载Stamkartotek:

**更新1**
我注意到这种奇怪的行为 - 如果我使用Stamkartotek它的任何字段加入正确:

但是,如果我去,只检索Stam_nr而不是整个对象的值- 它给了我A而不是a:

迄今为止的研究:
更新2
SQL生成Include:
FROM [dbo].[Sager] AS [Extent1]
INNER JOIN [dbo].[Stamkartotek] AS [Extent2] ON [Extent1].[Klient_Stam_nr] = [Extent2].[Stam_nr]
WHERE 'jek15' = [Extent1].[Sags_nr]
Run Code Online (Sandbox Code Playgroud)
更新3
在单独的查询中加载它们,并让changetracker修复引用.它似乎也不起作用:

我没有这种情况下的所有信息,我认为您必须使用整数键来更新表的关系来建立关系。
例如,当使用 linq 时,当您调用 ToList() 或 First 时,查询将执行到数据库。如果您使用 Include,则查询将在调用其中某些操作时加载数据。
A 或 a 的问题可能是排序规则情况,请检查您的配置,某些排序规则会忽略数据的大小写。
我建议:使用整数键更新您正在使用的表,如果您想加载相关数据,请使用左外连接。有时最好使用旧的 tsql(您也可以在 linq 中进行左外连接)。
| 归档时间: |
|
| 查看次数: |
945 次 |
| 最近记录: |